Ich habe ein Diagramm mit Datenpunkten vor mir liegen. Diese Datenpunkte möchte ich aber nicht einzeln per Hand in Excel eingeben, sondern das soll ein Programm für mich machen. Gibt es ein derartiges Programm oder bleibt einem nur die ungenaue und müßige Arbeit den Spaß selber zu machen…
Hallo Namenloser (eine Anrede ist hier im Forum üblich),
als Hilfskrücke könntest du folgendes versuchen:
Scanne die Grafik ein.
Erstelle ein Exceldiagramm mit irgendeiner Kurve (meinetwegen einer Geraden), die genau so viele Punkte hat wie deine Grafik. Die Skalierung der X- und Y-Achse müssen deiner Grafik entsprechen.
In den Diagramm-Optionen kannst du jetzt deine Grafik als Hintergrundbild anzeigen lassen.
Jetzt kannst du jeden Punkt deiner Geraden auf einen entsprechenden Punkt deiner Grafik schieben (ich hoffe, es sind nicht zu viele). Punkt 2x hintereinander anklicken (nicht doppelklicken). Mit dem 3. Klick kannst du den Punkt dann verschieben. Die Werte in deiner Tabelle ändern sich entsprechend.
Gruß (auch der ist hier üblich)
Andreas
Hallo Andreas!
Danke für die Tipps. Leider habe ich ein Problem beim „Ziehen“ der Punkte. Das klappt einfach nicht. Habe Excel 2007. Nach dem 2. Klick ist nur der eine Datenpunkt markiert. Diesen kann ich dann aber nicht Ziehen und mit der Hintergrundgrafik zur Übereinstimmung bringen. Was kann ich tun?
Danke schon im Voraus.
MFG, Markus
Danke für die Tipps. Leider habe ich ein Problem beim „Ziehen“
der Punkte. Das klappt einfach nicht. Habe Excel 2007. Nach
dem 2. Klick ist nur der eine Datenpunkt markiert. Diesen kann
ich dann aber nicht Ziehen und mit der Hintergrundgrafik zur
Übereinstimmung bringen. Was kann ich tun?
Hallo Markus,
durchpflüg die mistige *find* 2007-Hilfe, probier rum. Was besseeres kann ich dir leider nicht sagen. Den Klasse Tip von Andreas habe ich mit XL2000 probiert, klappt sehr gut und einfach und selbst 100 Punkte sind zwar mühsam=zeitaufwendig aber binnen Stundenfrist machbar *denk*
In XL2007 klappte es bei mir auch nicht. Egal wie oft ich da mit links/rechts draufklickte:frowning:
Jetzt ist halt die Frage, haben die MS-Programmierer etwas was gut klappt wieder mal entfernt oder weil Ihnen das wohl Spass macht, irgendwie in XL2007 versteckt, unter neuen Tastaturtricks?
Wenn du willst, kann ich das auch mit XL97 testen. Dann könntest du dir XL97, wenn’s das überhaupt noch gibt, billig bei ebay o.ä. kaufen.
Gruß
Reinhard
Hallo Markus, hallo Reinhard,
offiziell scheint es das Ziehen in Excel2007 wirklich nicht mehr zu geben. Aber hier hab ich was gefunden, das vielleicht hilft:
http://www.pctipp.ch/praxishilfe/kummerkasten/office…
Gruß, Andreas
Wahnsinn, was du da gefunden hast! Echt klasse! Das Problem ist nun nur noch folgendes: ich kann das Add-Inn nicht aus dem Archiv entpacken… Es erscheint folgende Meldung:
C:…v1.1.zip: Konnte MPOC\Manipulate_Points_on_Charts.xlan nicht erstellen. Das System kann den angegebenen Pfad nicht finden.
Echt schade. Was kann man tun?
Hallo Bwc,
ja, vom Lesen her klingt das gut in dem Link.
Ich gehe davon aus, es heißt nicht xlan sondern xlam.
Okay, löst am Problem Null
Ich muß jetzt kurz weg, danach probiere ich mal den Download, wenn es klappt maile ich dir die xlam bzw. lade sie hoch ins Internet.
Kann aber natürlich auch bei mir nicht klappen.
Schau mal auf dem Link nach ob es da eine Art Forum gibt wo sicch Leute über dieses Add-On unterhalten.
Dann schau mal genau hier die Bretterliste durch, such dir eins aus was passen könnte, Internet allgemein, Windows allgemein oder was besseres und stelle da die Frage ein wie man aus diesem Link diese zip entzippen kann. Vielleicht ist da jmd. so nett und probiert es.
Gruß
Reinhard
Hallo Markus,
ich habe noch mal eine ganz andere Version gebastelt, die (hoffentlich) auch unter Excel2007 läuft. Lade dir mal die Datei runter:
http://www.file-upload.net/download-3004036/Punkte-k…
Starte die Datei. Passe wie gehabt die Skalierung von X- und Y-Achse des Diagramms an dein Diagramm an .Dann lade dein gescanntes Diagramm als Hintergrundbild.
Wenn du jetzt in das Diagramm klickst, erscheint an dieser Stelle ein roter Datenpunkt. Im Blatt „Tabelle1“ ist er auch eingetragen.
Du kannst also jetzt alle deine Datenpunkte anklicken und sie werden in die Tabelle eingetragen. Wenn du dich mal „verklickt“ hast, dann klicke noch mal auf den erzeugten Punkt, dann wird er wieder gelöscht.
Voraussetzung, damit es richtig funktioniert ist: Du darfst in das Diagramm keine Legenden, Textfelder oder sonst was zusätzliches eintragen. Sonst werden die Koordinaten der Klicks nicht richtig erkannt.
Ich habe das ganze nur unter Excel97 testen können. Den Postings von Reinhard entnehme ich, dass er Excel2007 hat. Falls es Probleme gibt könntest du dich evtl. auch an ihn wenden.
Gruß, Andreas
http://www.file-upload.net/download-3004036/Punkte-k…
Ich habe das ganze nur unter Excel97 testen können. Den
Postings von Reinhard entnehme ich, dass er Excel2007 hat.
Falls es Probleme gibt könntest du dich evtl. auch an ihn
wenden.
Hallo Andreas,
ich habe es jetzt mit XL2007 und XL2000 getestet.
Ohne Hintergrundbild und ohne Achsenanpassung, einfach nur geklickt
Es funktioniert.
Allerdings mußte ich die Zeilen
If PlotArea.Fill.Type = msoFillPicture Then
und
End If
auskommentieren.
In XL2007 ist der Curser nicht nur der Pfeil, sondern an der Spitze ist noch ein kleines Pfeilkreuz zu sehen.
Aber das ist nur otisch störend.
Schlimmer ist, warum auch immer, hatte ich in XL2007 auf einmal einen Versatz drinnen.
Ich klickte irgendwo und der Punkt erschien um ca. delta y von 10000 weiter oben von der Stelle (y geht von 0 bis 45000). Der x-Wert ist okay.
Frag mich nur nicht woher dieser Versatz kam
Dann, ich habe mehrfach die gleiche Datei in beiden Versionen abwechselnd geöffnet, wenn man dann einen Punkt setzt, verschwinden die „alten“ Punkte.
Liegt an If erstesMal Then
Dann sieht man in der Tabelle eine Mischung aus Koordinaten von „alten“ und „neuen“ Punkten.
Aber alles Peanuts, die Codebasis ist gut.
Naja, bis auf den Versatz, ich muß den durch irgendeine Klickerei ausgelöst haben, nur welche, in welchem Moment *Kopfkratz*.
Gruß
Reinhard
Hallo Bwc,
Ich habe das Add-In eingebunden man sieht es auch im VB-Editor und in Add-Ins angehakt, aber funktionieren tut da nix.
Naja, ich hab mir aber auch die Docx und auch das was alles auf der Webseite von Andreas Link stand nicht genau bzw. überhaupt durchgelsen.
Oder es müßte man mal an XL2010 testen, das hab ich aber nicht.
Gruß
Reinhard
Excel 2007 2010 Diagrammpunkte verschieben
hier die xlam
Hier die docxIch habe das Add-In eingebunden man sieht es auch im VB-Editor
und in Add-Ins angehakt, aber funktionieren tut da nix.
Hallo Bwc, Andreas,
hab’s jetzt unter XL2007 getestet. Add-In funktioniert. Zum Start muß man auf das Icon „Manipulate points“ klicken.
Dann kann man in einer userform sich eine Datenreihe wählen und darin einzelnen Punkten andere y-Werte zuweisen.
Siehe dieses Bild.
Gruß
Reinhard
Hallo Reihnard,
danke für deine Tests.
Ja, das mit dem Versatz ist eine Krux. Es passiert imemr dann, wenn nach dem setzen des ersten Punktes das Diagramm irgendwie relativ zu den Bildschirmpixelkoordinaten verschoben wird. Also z.B. durch verschieben/verkleinern des Excel-Fensters, verschieben/verkleinern des Arbeitsmappenfensters, zoomen des Diagramms oder verschieben der Plotarea-Grenzen. Solange man nach dem Setzen des ersten Punktes (dabei werden die Plotarea-Grezen über die „Sub Koordinaten“ ausgelotet) nichts verändert, sollte es funktionieren.
Ich vermute, wenn man die Datei speichert, nachdem schon Punkte gesetzt sind, dann schließt und neu öffnet, kommt der Code durcheinander, wenn man dann neue Punkte setzt.
Ich habe leider erst morgen Zeit, wieder zu testen.
Danke erst mal für deine Fehlersuche.
Gruß, Andreas
Hallo Andreas,
Ja, das mit dem Versatz ist eine Krux.
danke für deine Ausführungen wie es dazu kommt. Die sind gut, so kann man ja den „Fehler“ nachstellen und dann ggfs. vielleicht, möglicherweise eliminieren oder halt nicht.
Danke erst mal für deine Fehlersuche.
Gerne. Übrigens, der Code von dem Add-In ist nicht geschützt (naja, wäre auch kein Problem gewesen *gg*).
Die arbeiten da mit Klassenmodulen, ner UF und paar Modulen.
Wobei, die haben da von MS noch ein Modul „Testarea“ stehen lassen. da sieht man sehr deutlich, die kochen auch nur mit Wasser, das sieht genauso aus wie wenn ich was teste )
Irgendwie habe ich mir gedacht, grad du wärest vielleicht an den Codes aus Interesse interessiert.
(Sicher geniales Deutsch, aus Interesse interessiert *grins*)
Leider klappte es nicht die xlam als xla bzw. xls umzutaufen um sie mit XL2000 zu öffnene.
Wenn du willst sag Bescheid, dann extrahiere ich da die Codes und lade sie hoch. Immer gut zu Lernzwecken sich sowas mal anzuschauen, völlig egal ob da reine XL2010 Befehle drin sind.
Im übrigen, so wie ich die Sache sehe, kann man diese xlam leicht nachbauen, mit weniger Code. Es ist ja nicht dein Ansatz, sondern ein einfacherer Ansatz *find*, eine UF wo man eine Datenreihe auswählt, dann einen Datnpunkt von ihr und dann dessen Wert ändert.
Erscheint mir nicht soooo schwierig.
K.A. warum da MS so viel Codezeilen dafür braucht. Aber okay, erst wenn ich das programmieren würde weiß ich genau ob ich richtig liege mit meiner Einschätzung oder völlig falsch.
Gruß
Reinhard
Hallo Reinhard,
je mehr ich getestet habe, um so undurchsichtiger ist das ganze geworden.
Ich war bisher immer davon ausgegangen, dass z.B. MouseMove-, MouseDown- und MouseUp-Ereignisse mit Bildschirmkoordinaten arbeiten. Das scheint aber nur so zu sein, wenn das Excel-Fenster maximiert ist. Auch GetChartElement scheint nur dann mit dieser X- und Y-Koordinaten übereinzustimmen. Ich habe jetzt noch mal eine leicht veränderte Version hochgeladen:
http://www.file-upload.net/download-3007059/Punkte-k…
Bei mir funktioniert sie einwandfrei, wenn:
- Das Excel Fenster maximiert ist,
- das Arbeitsmappenfenster maximiert ist und
- die Diagrammfläche (nicht die Zeichnungsfläche!) auf den Zoomfaktor „Markierung“ eingestellt ist.
Dann habe ich keine Versätze.
Man kann die Datei jetzt auch nach dem Eintragen von Punkten abspeichern. Nach dem Neuöffnen bleiben die Punkte erhalten, und er macht in der richtigen Tabellenzeile weiter.
Leider habe ich momentan keine Zeit, hier weiter zu basteln. Evtl. lässt sich mit Windows API-Funktionen (GetCursorPos) noch was machen. Es ist mir aber nach wie vor ein Rätsel, wie man Excel-Koordinaten wie X und Y bei MouseMove oder Left und Width von Objekten so auf Bildschirmkoordinaten abbilden kann, dass es für alle Zooms usw. stimmt.
Vielleicht kann ja Markus mit der neuen Version was anfangen. An sonsten halt das MS AddIn.
Wäre übrigens toll, wenn du mir den Code aufdröseln und hochladen könnntest.
Einsweilen Gruß,
Andreas
Hallo Andreas,
je mehr ich getestet habe, um so undurchsichtiger ist das
ganze geworden.
Das kenne ich gut, grad wenn man Diagramme manipulieren will.
http://www.file-upload.net/download-3007059/Punkte-k…
Man kann die Datei jetzt auch nach dem Eintragen von Punkten
abspeichern. Nach dem Neuöffnen bleiben die Punkte erhalten,
und er macht in der richtigen Tabellenzeile weiter.
Ich schau mir das nachher an.
An sonsten halt das MS AddIn.
Wäre übrigens toll, wenn du mir den Code aufdröseln und
hochladen könnntest.
ich weiß nicht wie älteres Excel auf das Importieren von in XL2007 exportieren Modulen reagiert. Zumindest bei der UF hat doch sicher MS wieder was geändert *vermut ohne zu wissen*
Deshalb alle Module untereinander, getrennt durch Sternenzeile in der nachfolgeden datei.
Das Bild der UF hast du ja in dem Bild was ich hochgeladen habe.
Benennungen in der UF:
tbSeries = oberste Textbox
sbSeries = der dazugehörige Spinbutton
tbPoint = die Textbox darunter
sbPoint = der dazugehörige Spinbutton
tbValue = Textbox neben „Value X“
sbValue = der dazugehörige Spinbutton
scrValue = die dazugehörige Scrollbar
tbValue2 = Textbox neben „Value Y“
sbValue2 = der dazugehörige Spinbutton
scrValue2 = die dazugehörige Scrollbar
tbValue3 = Textbox neben „Size“
sbValue3 = der dazugehörige Spinbutton
scrValue3 = die dazugehörige Scrollbar
Hier in dieser txt-Datei.
Gruß
Reinhard
Also Leute, ich danke euch wie verrückt. Das Punkte klicken klappt echt gut. Wüsste nicht, an was man mäkeln könnte. Klasse!
Markus