Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

leere Zellen ausblenden

Forumthread: leere Zellen ausblenden

leere Zellen ausblenden
02.12.2002 19:09:42
Matthias H.
Hallo,

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







Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: leere Zellen ausblenden
02.12.2002 19:12:51
PeterW
Hallo Matthias,

das steht alles in der VBA-Hilfe. Für Zeilen muss die Variable als Long dimensioniert sein.

Gruß
Peter

Re: leere Zellen ausblenden
02.12.2002 19:25:28
Matthias H.
Danke Peter,

Ich habs gerade mal geändert. Mit Long klappt das, aber das dauert ganz schön bis der die 65536 Zeilen durch hat (ist immer noch nicht fertig). Gibt es denn beim Erstellen/Öffnen eines Arbeitsblattes die Möglichkeit die Zeilenanzahl festzulegen?
Matthias

Anzeige
Re: leere Zellen ausblenden
02.12.2002 19:33:49
PeterW
Hallo Matthias,

Du könntest mit der letzten benutzten Zeile anfangen, beispielsweise für Spalte A

Dim lgLetzte as Long
lgLetzte = [a65536].End(xlUp).Row

und fängst dann nicht bei 65536 sondern bei lgLetzte an.

Gruß
Peter

Re: leere Zellen ausblenden
02.12.2002 19:44:50
Matthias H.
Hallo Peter,
das ist eine gute Idee.
Momentan werden ja alle Zeilen/Spalten gelöscht in denen nichts steht. Kann man nicht realisieren, daß erst diejenigen gelöscht werden nach denen nichts mehr kommt?
Beispiel Zeile 1-3 leer, in Zeilen 3 und 6 ist ein Eintrag --> alle Zeilen ab 7 löschen...


Anzeige
Re: leere Zellen ausblenden
02.12.2002 20:14:00
PeterW
Hallo Matthias,

ermittle mit dem schon beschriebenen Ansatz die letzte benutzte Zelle und dann

Rows(lgLetzte & ":65536").Hidden = True

Gruß
Peter

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige