Microsoft Excel

Herbers Excel/VBA-Archiv

Filtern und vergleichen | Herbers Excel-Forum


Betrifft: Filtern und vergleichen von: walter mb
Geschrieben am: 29.01.2012 13:50:50

Hallo zusammen.
meine Datenbank geht vo A bis AY und fängt ab Zeile 4 an.
Die Länge kann nach der Spalte B bestimmt werden.

Ich wollte in der Spalte AY alle filtern wenn ein Datum steht.
Leider klappt es hiermit nicht:
Selection.AutoFilter Field:=51, Criteria1:=">=>0", Operator:=xlAnd

Extra Makro:
Dann wollte ich 2 Spalten vergleichen:
AP mit AU, möchte nur die Zeilen sehen WO die Werte in der Spalte
AU größer sind zur Spalte AU.

mfg Walter MB

  

Betrifft: AW: Filtern und vergleichen von: Hajo_Zi
Geschrieben am: 29.01.2012 14:18:47

Hallo Walter

>=> gibt es nicht, fällt mir mal nur so auf.

GrußformelHomepage


  

Betrifft: AW: Filtern und vergleichen von: fcs
Geschrieben am: 29.01.2012 14:39:39

Hallo Walter,

Kriterien-Problem hat Hajo ja schon angesprochen.

Für das Filtern der Zeilen mit AU>AP ist es am einfachsten, eine Hilfsspalte in der Tabelle mit entsprechender Formel anzufügen.

Gruß
Franz

Sub FilterDatum()
  Dim wks As Worksheet
  Dim LetzteZeile As Long
  Const Zeile1 = 4 'Zeile mit SpaltenTiteln
  
  Set wks = ActiveSheet
  
  With wks
    'Autofilter ggf. abschalten
    If .AutoFilterMode = True Then
      If .FilterMode = True Then
        .ShowAllData
      End If
      .AutoFilterMode = False
    End If
    LetzteZeile = .Cells(.Rows.Count, 2).End(xlUp).Row
    'Datumswerte in Spalte AY
    With .Range(.Cells(Zeile1, 1), .Cells(LetzteZeile, 52))
      .AutoFilter Field:=51, Criteria1:=">=0"
    End With
  End With
End Sub

Sub Filter_AU_gt_AP()
  Dim wks As Worksheet
  Dim LetzteZeile As Long
  Const Zeile1 = 4 'Zeile mit SpaltenTiteln
  
  Set wks = ActiveSheet
  
  With wks
    'Autofilter ggf. abschalten
    If .AutoFilterMode = True Then
      If .FilterMode = True Then
        .ShowAllData
      End If
      .AutoFilterMode = False
    End If
    LetzteZeile = .Cells(.Rows.Count, 2).End(xlUp).Row
    'Formel für AU>AP in Spalte 52 (AZ) einfügen
    With .Range(.Cells(Zeile1 + 1, 52), .Cells(LetzteZeile, 52))
      .FormulaR1C1 = "=R[0]C47>R[0]C42"
    End With
    'AU > AP filtern in Spalte AZ
    With .Range(.Cells(Zeile1, 1), .Cells(LetzteZeile, 52))
      .AutoFilter Field:=52, Criteria1:=True
    End With
  End With
End Sub



  

Betrifft: AW: Filtern und vergleichen von: walter mb
Geschrieben am: 29.01.2012 14:55:41

Hallo Hajo und Franz,
habe in mehreren Foren nachgelesen, stimmt.
Aber das Makro von Franz ist pefekt,
danke !
Das müßte man doch auch für die Spalte AY anwenden können oder ?
Wenn Wert drin steht u.s.w.
Mit der Hilfsspalte ist doch prima.
mfg walter mb


  

Betrifft: Hatte übersehen ... bin blöd -) von: walter mb
Geschrieben am: 29.01.2012 14:58:29

Hallo Franz,
perfekt !
Habe das Makro für die letzte Spalte übersehen,
schönen Sonntag noch !!!
mfg walter mb


Beiträge aus den Excel-Beispielen zum Thema "Filtern und vergleichen"