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
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
Versuch mal Dein Sheet "test_20090228_222511_0000001" umzubenennen, und zwar so, daß keine Unterstriche _ mehr vorkommen.
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?
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ß
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?
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 ?
Nein, dieses Sheet besteht in der neuen MAppe natürlich nicht. Aber warum schreibt der das denn mit? Kann ich das irgendwie verhindern?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.