www.mikrocontroller.net

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


Autor: Benjamin Kley (kleybenny)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Evtl. hilft Taste Strg + Ende
Dann bist Du ganz unten.

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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
google mal nach "excel dynamische diagramme"

Autor: Benjamin Kley (kleybenny)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias (Gast)
Datum:

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

Autor: Benjamin Kley (kleybenny)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: holakaramba (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: Benjamin Kley (kleybenny)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Benjamin Kley (kleybenny)
Datum:

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

Autor: holakaramba (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.