Herbers Excel-Forum - das Archiv

Worksheet auswählen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Worksheet auswählen
von: Lorenz

Geschrieben am: 09.01.2007 14:41:54
Hallo Excelianer.
Wie kann man Tabellen nicht mit TabellennameSheets("meinBlatt"), sondern mit Tabellenbezeichnung Tabelle16...Tabelle19... Tabelle36 die vom Programm vergeben wurde (Name) ansteuern.
Die Blätter stehen nicht am Anfang, sonder bunt gemischt in der Arbeitsmappe!
Mittels angefügten Code funkts nicht!
CommandButton aus UserForm
Sub BlattHerWeg()
Dim i As Integer
For i = 16 To 28
With Worksheets(Tabelle & i)
.Visible = Not .Visible
If .Visible = True Then
.Select
End If
End With
Next
Unload Me
End Sub

Für Tipps Danke ich im Voraus
Lorenz
Bild

Betrifft: AW: Worksheet auswählen
von: Jürgen

Geschrieben am: 09.01.2007 14:44:59
Hallo Lorenz,
habe es zwar nicht probiert aber versuch mal "Tabelle" in Anführungszeichen zu setzen.
Sub BlattHerWeg()
Dim i As Integer
For i = 16 To 28
With Worksheets("Tabelle" & i)
.Visible = Not .Visible
If .Visible = True Then
.Select
End If
End With
Next
Unload Me
End Sub

Gruß
Jürgen
Bild

Betrifft: AW: Worksheet auswählen
von: Oberschlumpf

Geschrieben am: 09.01.2007 14:48:39
Hi Lorenz
Versuch es mal mit dieser Zeile:
With Worksheets("Tabelle" & i)
aber das hier verstehe ich nicht:
.Visible = Not .Visible
damit änderst du ja bei hedem Sheet den aktuellen Status für Visible - oder ist das so gewollt?
Funktionierts denn mit der ersten Zeile?
Ciao
Thorsten
Bild

Betrifft: AW: Worksheet auswählen
von: Lorenz

Geschrieben am: 09.01.2007 15:38:56
Hallo Thorsten!
Mit der 1. Zeile gehts nicht!
zu oder ist das so gewollt: "ja"
zu dem .Select, das lasse ich weg, da nachdem die Schleife durchlaufen ist soll ja nur die Tabelle16 aktiviert werden.
Gruss
Lorenz
Bild

Betrifft: AW: Worksheet auswählen
von: Daniel Eisert

Geschrieben am: 09.01.2007 15:01:31
Hallo
wenn du die Bezeichung meinst, die in der Baumstruktur direkt vor der Klammer steht, dann kannst du diese direkt vewenden, also
TABELLE2.DELETE
TABELLE1.CELLS(2,2).value = "Hallo"
ob sich bei diesen Namen mit Variablen arbeiten lässt oder ob sie immer direkt verwendet werden müssen, weiß ich nicht.
wenn du genau diese Gruppe von Sheets öfters brauchst, kannst du sie ja in eine Feldvariable speichern, also
dim MeineSheets(12) as worksheet
Set MeineSheets(0) = Tabelle16
Set MeineSheets(1) = Tabelle17
usw..
diese Feldvariable kannst du dann mit einer For- oder sogar mit einer For-Each-Schleife abarbeiten.
gruß, Daniel
Gruß, Daniel
Bild

Betrifft: Dank an alle! Lösung gefunden!
von: Lorenz

Geschrieben am: 09.01.2007 17:20:22
Hallo Jürgen, Oberschlumpf u. Daniel!
Habe alle drei TIPPS ausprobiert. Ist mir aber leider mit nichts etwas geglückt.
Habe aus ehemaliger Hilfe aus dem Forum folgendes gebastelt:
Habe den Tabellen Namen vergeben(Im Baum vor den Klammern) wie A1, A2, A3,...B1, B2, B3,...,C1, C2, C3,... usw
Sub EinAus(ByVal Ort As String)
Dim i As Integer, vSht As Variant
On Error GoTo ende
For i = 1 To Worksheets.Count
vSht = Worksheets(i).CodeName
If Left(varSht, 1) = Ort Then Worksheets(i).Visible = Not Worksheets(i).Visible
Next i
ende:
End Sub

Sub Eins()
Call EinAus("A")
End Sub

Sub Zwei()
Call EinAus("B")
End Sub

Sub Drei()
Call EinAus("C")
End Sub

viele Grüsse
Lorenz
 Bild