Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1536to1540
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabellenblatt mit Variable ansprechen

Tabellenblatt mit Variable ansprechen
03.02.2017 12:04:43
L
Hallo zusammen,
ich bin relativ neu in der vba-welt. jetzt versuche ich mich aber trotzdem mal daran.
ich versuche tabellenblätter (insg. 36) über namen innerhalb eines array anzusprechen.

Sub test()
Dim e as Integer
Dim N() as variant
Dim Tabellenblatt as string
For e=1 to 4
N = Array("aa", "bb", "cc", "dd")
Tabellenblatt = N(e)
'und dann sollte prinzipiell erstmal sowas passieren:
Worksheets(Tabellenblatt).Activate
'also quasi das tabellenblatt mit dem namen "aa" angesprochen werden
Next
End Sub


Vielen Dank schonmal im vorraus,
LG
L K

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt mit Variable ansprechen
03.02.2017 12:16:35
Daniel
Hi
Beachte: Falls nicht Option Base 1 gesetzt hast, ist bei automatisch erstellten Arrays der erste Index die 0 und nicht die 1
desweitern solltest du Aktionen, die sich über den Schleifenverlauf nicht ändern, möglichst außerhalb der Schleife ausführen.
dim N
dim e as long
N = Array("aa", "bb", "cc", "dd")
for e = 0 to 3
Worksheets(N(e)).Acitvate
Next
wenn du ne Schleife über alle Elemente des Arrays haben willst, kannst du ersten und letzten Index auch per Funktion ermitteln. Dann brauchst du den Code nicht anpassen, wenn du das Array änderst:
dim N
dim e as long
N = Array("aa", "bb", "cc", "dd")
for e = Lbound(N) to UBound(N)
Worksheets(N(e)).Acitvate
Next

oder du verwendest die For Each In-Schleife:
dim N
dim TB
N = Array("aa", "bb", "cc", "dd")
for Each TB in N
Worksheets(TB).Acitvate
Next
Gruß Daniel
Anzeige
AW: Tabellenblatt mit Variable ansprechen
03.02.2017 12:21:19
ransi
HAllo,
Versuch mal so:
Option Explicit

Sub test()
    Dim e As Integer
    Dim N As Variant
    Dim Tabellenblatt As Object
    Set N = Worksheets(Array("aa", "bb", "cc", "dd"))
    For e = 1 To 4
        Set Tabellenblatt = N(e)
        'und dann sollte prinzipiell erstmal sowas passieren:
        Tabellenblatt.Activate
        'also quasi das tabellenblatt mit dem namen "aa" angesprochen werden
    Next
End Sub



ransi
Anzeige

28 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige