Clever-Excel-Forum

Normale Version: HILFEEE bei bestehendem VBA ausbauen!!!
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich brauche dringend Hilfe mit dem folgenden Makro. läuft soweit richtig, berücksichtigt jedoch nicht meinen Autofilter in der Zelle A11. Wie kann ich diese Bedingung in das bestehende VBA einbauen?
Vielen Dank für eure Hilfe!
 
Sub LeereSpaltenAusblenden()
 
      Dim Datenbereich As Range
      Dim Zeile As Range
      Dim Spalte As Range
      Dim istLeer As Boolean
 
     'Datenbereich definieren
      Set Datenbereich = Range("H12:EI200")
 
     For Each Spalte In Datenbereich.Columns
       istLeer = True
       For Each Zeile In Spalte.Cells
         Select Case VarType(Zeile.Value)
           Case 0, 1 'ist Empty oder NULL
           Case 5    'ist Double
             If Not (Zeile.Value = 0) Then
               istLeer = False
               Exit For
             End If
           Case 8    'ist String
             If Not (Len(Zeile.Value) = 0) Then
               istLeer = False
               Exit For
             End If
           Case Else 'keines der obigen
             istLeer = False
             Exit For
         End Select
       Next Zeile
       Spalte.EntireColumn.Hidden = istLeer   'Spalte ein-/ausblenden
     Next Spalte
Hallo,

Zitat:berücksichtigt jedoch nicht meinen Autofilter in der Zelle A11

was bedeutet das, soll vorher geprüft werden ob Autofilter gesetzt ist und wnn ja soll der Autofilter dann rausgenommen werden?
Hallo madu,
im Prinzip steht der Lösungsansatz schon in Deinem code. Eine Bedingung für sichtbare Zeilen könnte so aussehen:

If Not Rows(2).Hidden Then

Statt der 2 dann natürlich eine Variable oder einen passenden Ausdruck nehmen. Da Du mit For ... Each arbeitest, wäre z.B. zeile.row möglich.