ich habe in den VBA-Beispielen von Hans folgendes zum Ausblenden leerer Spalten gefunden:
StandardModule: basMain
Sub LeereSpalteAus()
Dim iCounter As Integer
Application.ScreenUpdating = False
For iCounter = 1 To 256
If WorksheetFunction.CountA(Columns(iCounter)) = 0 Then
Columns(iCounter).Hidden = True
End If
Next iCounter
Application.ScreenUpdating = False
End Sub
Das funktioniert auch, allerdings nur wenn ich die erste Zeile mit ' ausblende (wozu dient die denn?).
Ich möchte aber auch alle nichtbenutzten Zeilen ausblenden. Deshalb habe ich folgendes eingefügt:
Sub LeereSpalteAus()
Dim iCounter As Integer
Application.ScreenUpdating = False
For iCounter = 1 To 256
If WorksheetFunction.CountA(Columns(iCounter)) = 0 Then
Columns(iCounter).Hidden = True
End If
Next iCounter
For iCounter = 1 To 65536
If WorksheetFunction.CountA(Rows(iCounter)) = 0 Then
Rows(iCounter).Hidden = True
End If
Next iCounter
Application.ScreenUpdating = True
End Sub
Wenn ich das Makro dann starte, kommt ein Laufzeitfehler mit der Meldung "Überlauf". Wie groß ist denn der maximale Wert einer Integer Variablen?
Matthias