Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
628to632
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
628to632
628to632
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Blattname variabel einlesen

Blattname variabel einlesen
28.06.2005 15:36:48
Dieter.K
Hallo Forum,
mit folgendem Code lese ich aus dem Tabellenblatt "Lieferung2005" Umsätze ein.

Sub Ausblenden_Halbjahr1()
Worksheets("Lieferung2005").Activate
Cells.Select
Selection.EntireRow.Hidden = False
Dim iRow As Integer, iRowL As Integer
iRowL = Cells(Rows.Count, 2).End(xlUp).Row
For iRow = 2 To iRowL
If IsEmpty(Cells(iRow, 25)) Then
Rows(iRow).Hidden = True
ElseIf WorksheetFunction.IsText(Cells(iRow, 25)) Then
ElseIf Cells(iRow, 25).Value > Worksheets("Daten").Range("M4") Then
Rows(iRow).Hidden = True
End If
Next iRow
End Sub

(Ausgegeben werden diese Umsätze in einer Listbox). Wie kann ich den Namen des
Tabellenblatts variabel gestalten, so daß ich die Daten z.B. 2004, 2006 2007 etc. über das selbe Makro einlesen kann?
Ich müsste die Zeile
Worksheets("Lieferung2005").Activate
so gestalten können das die Jahreszahl hinzugefügt wird (als Wert aus einer Zelle. Der Eintrag in diese Zelle erfolgt über Rowsource einer ComboBox).
z.B. Worksheets("Lieferung" & .....).Activate
Hat hier jemand einen Ansatz für mich?
Danke im Voraus.
Gruß
Dieter.K

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blattname variabel einlesen
28.06.2005 15:50:16
Sylvio
Hallo Dieter
mit einer for schleife zum Beispiel

Sub Ausblenden_Halbjahr1()
for i=1 to ActiveWorkbook.Sheets.Count
Worksheets(i).Activate
Cells.Select
Selection.EntireRow.Hidden = False
Dim iRow As Integer, iRowL As Integer
iRowL = Cells(Rows.Count, 2).End(xlUp).Row
For iRow = 2 To iRowL
If IsEmpty(Cells(iRow, 25)) Then
Rows(iRow).Hidden = True
ElseIf WorksheetFunction.IsText(Cells(iRow, 25)) Then
ElseIf Cells(iRow, 25).Value > Worksheets("Daten").Range("M4") Then
Rows(iRow).Hidden = True
End If
Next iRow
next i
End Sub

jetzt macht er es für alle sheets des activen workbooks
Gruß Sylvio
Anzeige
AW: Blattname variabel einlesen
28.06.2005 17:27:22
Dieter.K
Hallo Sylvio,
danke für Deinen Vorschlag. Ich denke, ich habe mich eventuell zu ungenau ausgedrückt (oder ich bin mal wieder zu dä....h!) um das Problem zu lösen.
Ich habe ein Userform mit mehreren Commandbutton und einer ComboBox. Über die ComboBox wird die Jahreszahl ausgewählt. Die Commandbutton rufen die Monate, Quartale, Halbjahre etc. auf.
Für die Jahre gibt es einzelne Tabellenblätter (Lieferung2004, Lieferung2005 etc.). Somit soll nach Auswahl in der ComboBox (z.B. 2004) das Tabellenblatt "Lieferung2004" aktiviert werden.
Leider verstehe ich den Zusammenhang in Deiner Codezeile nicht. Kannst Du mir das etwas verständlicher erklären?
Danke
Gruß
Dieter.K
Anzeige
AW: Blattname variabel einlesen
28.06.2005 20:48:40
Dieter.K
Hallo Sylvio,
hab selbst ein bischen ausprobiert. So funktioniert es.

Sub Ausblenden_Halbjahr1()
Dim WKS As String
WKS = Worksheets("Daten").Range("R7").Value
Worksheets(WKS).Activate
Cells.Select
Selection.EntireRow.Hidden = False
Dim iRow As Integer, iRowL As Integer
iRowL = Cells(Rows.Count, 2).End(xlUp).Row
For iRow = 2 To iRowL
If IsEmpty(Cells(iRow, 25)) Then
Rows(iRow).Hidden = True
ElseIf WorksheetFunction.IsText(Cells(iRow, 25)) Then
ElseIf Cells(iRow, 25).Value > Worksheets("Daten").Range("M4") Then
Rows(iRow).Hidden = True
End If
Next iRow
End Sub

Jetzt muß ich mir nur noch eine Fehlerabfrage einbauen, falls das Tabellenblatt noch nicht existiert (z.B. Lieferung2006 u.s.w.)
Danke für Deine Hilfe.
Gruß
Dieter.K
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige