Forum: PC Hard- und Software Excel Diagramm über Makro


von Benjamin K. (kleybenny)


Lesenswert?

Servus,

ich habe wieder eine Frage zu Excel. Ich bin jetzt wieder ein Stück 
weiter. Jetzt habe ich aber ein neues Problem. Und zwar möchte ich jetzt 
ein Diagramm erstellen und das als Makro aufzeichen. Normale Makros habe 
ich schon erstellt und die funktionieren auch immer sehr gut. Nur bei 
Diagrammen habe ich Probleme. Ich habe mehrere Zeilen mit immer den 
gleichen Spalten. Nur die Zeilenmenge variiert. das heißt mal habe ich 
200 Zeilen mit daten, mal nur 100 usw. Ich will jetzt über ein Makro ein 
Diagramm erstellen. Ich gehe auf die Spalten die drin sein sollen, 
drücke
SHIFT, STRG und Pfeil nach unten gleichzeitig und so nimmt er alle 
vrfügbaren Zeilen. Dann erstelle ich das Diagramm. wenn ich das alles 
aber aufzeichbne und in einer ANDEREN Excel Datei machen will, fängt er 
an und sagt dann: Laufzeitfehler "9": Index außerhalb des gültigen 
Bereiches. Wenn ich auf Debugen drücke wird dieser Bereich gelb makiert:

ActiveChart.SetSourceData 
Source:=Sheets("test_20090225_222526_0000001"). _
        Range("B1:B1441,D1:D1441"), PlotBy:=xlColumns

Was kann ich da tun? Hängt das daran dass ich bei der neuen Excel Datei 
weniger oder eine andere Anzahl von Zeilen habe?

Wäre echt super wenn ihr mir helfen könntet

von oszi40 (Gast)


Lesenswert?

Evtl. hilft Taste Strg + Ende
Dann bist Du ganz unten.

Oder Auge zu http://www.office-loesung.de/

von Matthias (Gast)


Lesenswert?

google mal nach "excel dynamische diagramme"

von Benjamin K. (kleybenny)


Lesenswert?

Danke, das ist echt ein guter ´Tip mit den dynamischen Tabellen. Aber 
der Debugfehler taucht trotzdem noch auf. Ich habe zwar das Gefühl dass 
er jetz weiter kommt, aber immer kommt diese Meldung :

Laufzeitfehler 9: Index außerhalb des gültigen Bereiches

Problem:

ActiveChart.SetSourceData 
Source:=Sheets("test_20090228_222511_0000001"). _
        Range("B:D,G:H"), PlotBy:=xlColumns

weiß niemand was das heißen könnte? Ich kenne mich da nämlich gar nicht 
aus

von Matthias (Gast)


Lesenswert?

Versuch mal Dein Sheet "test_20090228_222511_0000001" umzubenennen, und 
zwar so, daß keine Unterstriche _ mehr vorkommen.

von Benjamin K. (kleybenny)


Lesenswert?

Vielen Dank für euer Interesse :-). Das mit der Umbenennung hat leider 
nicht funktioniert.

Kann es sein das etwas an meinem Excel umgestellt ist wiel es nicht 
funktioniert?

von holakaramba (Gast)


Lesenswert?

hallo,

das ist ganz normal das andere Dateien damit nicht klar kommen.
In anderen Dateien findet er natürlich mit 
Sheets("test_20090225_222526_0000001") nicht.
Du musst das variabler gestalten, nur mit aufzeichnen kommt man dort 
nicht sehr weit...
versuch es mal mit:
 source=: activesheet.irgentwas oder activeworksheet (am besten gleich 
mal in der Hilfe suchen ;-)

Gruß

von Benjamin K. (kleybenny)


Lesenswert?

Wie kann ich das denn allgemeiner gestalten?
Ich verstehe das nicht ganz. Normaler zeiche ich doch mit einem Makro 
nur eine Reihenfolge von Befehlen auf. Wieso will der sich denn dann 
immer auf die ursprüngliche Datei beziehen?

Was kann ich da machen?

von Matthias (Gast)


Lesenswert?

Ja, aber in Deinem Makro steht doch immer noch der Name des 
ursprünglichen Sheets. Existiert ein Sheet mit diesem Namen überhaupt in 
Deiner neuen Mappe ?

von Benjamin K. (kleybenny)


Lesenswert?

Nein, dieses Sheet besteht in der neuen MAppe natürlich nicht. Aber 
warum schreibt der das denn mit? Kann ich das irgendwie verhindern?

von holakaramba (Gast)


Lesenswert?

du wirst dir doch sicher deiner aufgezeichneten code im VBA-Editor 
anschauen, oder? (Alt+F11)
Mit dem "nur" aufgezeichneten makro kommt man schnell an die Grenzen, 
weil wie in deinem Fall Excel absolute Adressen, 
("test_20090225_222526_0000001") dein Dateinname aufzeichnet.
Wenn du dann dein Makro in einer anderen Datei ausführst, will VBA genau 
diese Datei, kannst aber nicht finden. Deshalb der Fehler.
Es wird für dich unumgänglich sein deinen code zu verstehen und dann auf 
deine Bedürfnisse anzupassen.

praktisch: ersetze

"test_20090225_222526_0000001"
gegen deinen neuen Dateinnamen (am einfachsten)

oder ersetze ihn gegen VBA-Objekte die allg. wirken activeworkbook... 
etc. siehe oben

Wenn ich was mit VBA machen muss wurstele ich auch immer ganz schön rum, 
die einschlägigen Foren wie herber könnten dir auch helfen. Die meisten 
Leute die hier unterwegs sind bekommen bei Basic ein Gänsehaut (nicht 
immer zu Unrecht)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.