Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bitte CODE umschreiben

Forumthread: Bitte CODE umschreiben

Bitte CODE umschreiben
08.08.2004 21:21:15
Lorenz
Hallo u Guten Abend!
Bitte statt "ActiveSheet.Name" Liste in Worksheets("INDEX").Range("A:A40")
In der Liste in Spalte A stehen die eingeblendeten Sheets

Sub BlattEndeHidden()
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
If wks.Name <> ActiveSheet.Name Then
wks.Visible = xlVeryHidden
End If
Next wks
End Sub

Danke Lorenz
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bitte CODE umschreiben
PeterW
Hallo Lorenz,
im Prinzip könnte das so gehen (musst den Bereich doch anpassen, A:A40, da fehlt wohl was):

Sub BlattEndeHidden()
Dim rng As Range
For Each rng In Worksheets("INDEX").Range("A1:A40")
Sheets(rng.Value).Visible = xlVeryHidden
Next
End Sub

Gruß
Peter
Anzeige
AW: Bitte CODE umschreiben
Lorenz
Hallo Peter!
Besten Dank!
Es funktioniert!
Ein kleiner Schönheitsfehler is doch drin! Und zwar:
wenn im Bereich von A1:A eine leere Zelle vorhanden Dann wills nicht!
Die Leere Zelle ergibt sich durch den CODE

Sub BlattEintragEnde()
Dim wks As Worksheet
Dim iRow As Integer
Worksheets("INDEX").Columns(1).ClearContents
iRow = Worksheets("INDEX").Cells(Rows.Count, 1).End(xlUp).Row + 1
For Each wks In Worksheets
If wks.Name <> "INDEX" And wks.Visible = xlSheetVisible Then
Worksheets("INDEX").Cells(iRow, 1).Value = wks.Name
iRow = iRow + 1
End If
Next wks
End Sub

Gruss Lorenz
Anzeige
AW: Bitte CODE umschreiben
PeterW
Hallo Lorenz,
warum ermittelst du, wenn die Werte in Spalte A gelöscht werden, die letzte Zeile der Spalte? Mit deinem Code wird bei leerer Spalte A der Wert 2 geliefert, die leere Zelle dürfte A1 sein. Versuch es mal so:

Sub BlattEintragEnde()
Dim wks As Worksheet
Dim iRow As Integer
Worksheets("INDEX").Columns(1).ClearContents
iRow = 1
For Each wks In Worksheets
If wks.Name <> "INDEX" And wks.Visible = xlSheetVisible Then
Worksheets("INDEX").Cells(iRow, 1).Value = wks.Name
iRow = iRow + 1
End If
Next wks
End Sub

Gruß
Peter
Anzeige
DANKE!!!!!!!!!!!!!
Lorenz
Hallo Peter!
Rat befolgt! alles Ok
funktioniert bestens!
Danke
Lorenz
Kern geschehn
WeterP
..
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige