1k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

ich hoffe der Titel meiner Anfrage war nicht zu kryptisch.

Ich möchte für ein Tabellenblatt prüfen, ab welcher Spalte die
Spalten ausgeblendet sind. Die Nummer der letzten sichtbaren
Spalte soll in eine Variable gespeicher werden.

Habe es wie folgt versucht, es jedoch nicht zum laufen bekommen:

[/code]
Dim Cols As Range
For Each Cols In Worksheets("Tabelle1").Range(Cells(anzRows, 1),
Cells(anzRows, 256)).Columns
If Not Cols.EntireColumn.Hidden Then
anzColumns = Worksheets("Tabelle1").Cols.EntireColumn.Column
End If
Next Cols[code]


Habt Ihr einen Vorschlag was ich besser machen kann?

Beste Grüße,
critchm

3 Antworten

0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo,

du kannst es ja mal so versuchen:

Sub letzte_sichtbare_spalte()

For col = 1 To 256
If Columns(col).Hidden = True Then
anzcolumns = col - 1
Exit For
End If
Next col

MsgBox anzcolumns

End Sub


Gruß

M.O.
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

die Formel von @M.O. ist für Excel bis 2003 ok, ab 2007 sind es 16384 Spalten.

Da du keine Excelversion angegeben hast, wäre das bei der Nutzung der Formel zu beachten.

Gruß

Helmut
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

einige varianten

gruss nighty

Sub makro01()
Cells(1, 1) = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
Cells(2, 1) = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
Cells(3, 1) = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Cells(4, 1) = ActiveSheet.Rows(4).End(xlToRight).Column
Cells(5, 1) = ActiveSheet.Rows(Rows.Count).End(xlToRight).Column
End Sub
...