Clever-Excel-Forum

Normale Version: VBA: Blatt aufrufen mit Variablen (Blattnamen)
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Abend allerseits.

Ich suche nach Lösung und hoffe hier Hilfe zu bekommen.

Habe in Excel 2010 folgendes Problem:

Ich bin z.B. im Arbeitsblatt "Naehrwerte".

Dort werden Daten gesammlt und in ein Arbeitsblatt kopiert,
das nach Monat und Jahr benannt ist.
Also z.B: Juli - 2019
(das über die Formel: =TEXT(HEUTE();"MMM")&" - "&JAHR(HEUTE())   )
in A4 erzeugt wurde und dort stehen bleibt)

In mehreren verschiedenen Makros rufe ich per VBA dann Arbeitsblätter auf:
Beispiel:
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Sub Copy_NWerte()

'
   ActiveCell.Range("A1:G1").Copy
   
   Sheets("Aug-2018").Select
   ActiveCell.Offset(0, 2).Activate
       
End Sub
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Frage: Wie kann ich das machen, dass anstatt:

Sheets("Aug-2018").Select

z.B: sowas steht:
Sheets("VARIABLE").Select
(Variable = Inhalt von A4, der ja mit dem Blattnamen des zu aktivierenden Blattes identisch ist) ?

Zurzeit mach ich zum Monatsersten halt immer den VBA-Editor auf und dann suchen/ersetzen.

Ich könnte mir vorstellen, dass das mit ner entsprechenden Variablen geschmeidiger geht.

Ganz herzlichen Dank und nen schönen Abend wünsch ich schon mal.
Hallo,

mal ungetestet

Code:
Worksheets(Worksheets("Naehrwerte").Range("A4").Text).Select

Man braucht übrigens in den allermeisten Fällen die Blätter nicht zu selektieren.
https://www.online-excel.de/excel/singsel_vba.php?f=78
Hallo,

die Lösung hast du ja bereits oben erhalten. Ich werfe aber mal generell ein, dass solch ein Vorgehen mit monatsweisen Blättern grundfalsch ist. Gleiche Daten gehören in ein einziges Blatt und werden dann separat ausgewertet.
wunderbar Steffel!
Danke! funktioniert

Und selection deshalb, weil ich nach dem Kopieren in dem Monatsblatt weiter arbeite.
Das Blatt Naehrwerte dient lediglich als Container für Basiswerte, die wie gesagt, im Monatsblatt dann weiterverarbeitet werden.

Dein Tipp hat mir sehr geholfen! Je nach Patientenanzahl kann das schon sehr auf das Zeitkonto drücken.
Zitat:Das Blatt Naehrwerte dient lediglich als Container für Basiswerte, die wie gesagt, im Monatsblatt dann weiterverarbeitet werden.
Ändert nichts daran, dass es einfach falsch ist. Aber du wirst schon wissen, wie du arbeiten möchtest.