Excel Diagramm über Makro

OP #1202828
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
OP
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
Gast
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ß
OP
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?
Gast
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 ?
Gast
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)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.