Woodstock Geschrieben 28. April 2002 Geschrieben 28. April 2002 Hallo! Ich habe mit VB eigentlich gar nichts tun, weiß auch nicht ob das hier überhaupt hinpasst, also bitte wenn denn besser verschieben, und kenne mich deswegen auch nicht aus! Habe nach einer Problemlösung auch schon im Internet gesucht, aber nichts gefunden (vielleicht auch nur falsch gesucht). Also, mein Vater hat eine Excel Datei, die aus 15 Tabellenblättern gesteht. Nun hat er ein Makro entwickelt, mit dem er von aus den Werten eines Tabellenblattes eine Grafik erstellen kann. Er hat jetzt das Problem, das er das Makro nicht einfach kopieren kann, und anstelle von text1 = Sheets("[B]Tabelle1[/B]").Cells(a, 2) soetwas wie text1 = Sheets("[B]aktiv Sheet[/B]").Cells(a, 2)schreiben kann, also nicht den Namen des Tabellenblattes expliziet angeben muss. Geht das? Bine Zitieren
wetman Geschrieben 29. April 2002 Geschrieben 29. April 2002 Hi, ActiveSheet übergibt den Bezug auf das aktive Blatt (Diagramm oder Tabelle) versuch anstelle von ActiveSheet mal ActiveWorksheet, da dies nur das aktive Tabellenblatt übergibt!!! Zitieren
Woodstock Geschrieben 29. April 2002 Autor Geschrieben 29. April 2002 Danke, ich sage es sofort meinem Dad und melde mich dann noch mal! Bine Zitieren
Goos Geschrieben 29. April 2002 Geschrieben 29. April 2002 huch Wetman.....was erzaehlst denn da fuern zeugs? also mir waers neu, dass es sowas wie ActiveWorksheet gibt. Goos Zitieren
Goos Geschrieben 29. April 2002 Geschrieben 29. April 2002 Ach und Woodstock....du lieferst ansich zu wenig Informationen, so wie die meisten das hier tun. Wird das Makro z.B. ueber einen Button aufgerufen, der sich auf was weiss ich... dem ersten Tabellenblatt befindet, dann ists ratsam folgendes zu verwenden: for n = 1 to 15 text1 = Sheets(n).Cells(a,2) 'n ist der Index des Tabellenblatts von 1 bis x 'der bei Sheets() auch anstelle des "Namens" verwendet werden kann next n Sollte der Makro Code aber in jedes der Tabellenblaetter kopiert werden, dann empfiehlt sich: text1 = ActiveSheet.Cells(a,2) bye Goos Zitieren
wetman Geschrieben 30. April 2002 Geschrieben 30. April 2002 Hi, sorry war nur ein Versuch, hatt bei mir auch schon geklappt. Laut Excel 2002 Kompendium gibt es das wirklich!!! Auszug:"ActiveWorkSheet übergibt einen Bezug auf das aktive Tabellenblatt" Tut mir leid wenns net des richtige war!!! wet Zitieren
Woodstock Geschrieben 30. April 2002 Autor Geschrieben 30. April 2002 Nun, ich konnte Euch nicht mehr Informationen geben, weil ich mich damit nicht auskenne. Mein Vater hat mich gefragt ob ich ihm dabei helfen kann. Bei dem Makro (welches über eine Tastenkombination aufgerufen wird), wird ein bestimmter Teil eines Tabellenblattes zur Erstellung eines Diagramms benutzt. Nun sind in dieser Excel Datei aber 15 verschiedene Tabellenblätter, von denen allesamt ein Diagramm erstellt werden soll. Bei der Aufzeichnung des Makros wird automatisch der Name des Tabellenblattes eingesetzt in dem man sich befunden hat. Es soll aber immer das Tabellenblatt genutzt werden in dem man sich zur Startzeit des Makros befindet. Das mit dem AktiveWorkSheet hat so leider nicht geklappt. Aber ein Klassenkamerad hat es gestern geschafft. Wie weiß ich noch nicht, habe zwar den Quelltext des Programms, stiege da aber noch nicht wirklich durch, und muss so warten bis Donnerstag, bis er es mir erklären kann. Danke Euch trotzdem... Bine Zitieren
Goos Geschrieben 30. April 2002 Geschrieben 30. April 2002 Hi Wetman, na das mag schon sein, ich hab halt nix naeheres zum, Excel 2002 da Allerdings sollte es dann auch keine grossartig andere Funktion haben wie ActiveSheet. Muss mir doch glatt mal son Excel installieren und das ausprobieren. Tschoee :OD Goos Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.