HILFEEE bei bestehendem VBA ausbauen!!!
#1
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
Antworten Top
#2
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?
Gruß Atilla
Antworten Top
#3
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.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste