Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1396to1400
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro Zellen filtern

Makro Zellen filtern
15.12.2014 13:58:49
Gunther
HI @ all,
DAU benötigt mal dringend Eure Hilfe.
habe ein Makro welches mir in diversen Tabellen Filter setzt und die oberste Zeile löscht.
Sheets("Gesamtübersicht").Select
ActiveSheet.ListObjects("Gesamtübersicht").Range.AutoFilter Field:=1, _
Criteria1:=Sheets("Mitarbeiter").Range("C16")
Range("A3:V3").Select
Selection.EntireRow.Delete
ActiveSheet.ListObjects("Gesamtübersicht").Range.AutoFilter Field:=1
Range("A2").Select
Nun zu meinem Problem:
Ist der zu Filternde Wert z.B 10 werden alle Werte angezeigt die 10 enthalten (10;100;110;102;510 usw)
Die oberste Zeile muß nun natürlich nicht dem gesuchtem Wert entsprechen und wird fälschlicher weise gelöscht.
hoffe ihr könnt mir helfen.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Zellen filtern
15.12.2014 15:08:31
ChrisL
Hi Gunther
Mal frei interpretiert:
Sub ttt()
With Worksheets("Gesamtübersicht")
If WorksheetFunction.CountIf(.Columns(1), Worksheets("Mitarbeiter").Range("C16")) = 0 Then
MsgBox "Suchkriterium nicht vorhanden"
Else
.Rows(Application.Match(Worksheets("Mitarbeiter").Range("C16"), .Columns(1), 0)). _
EntireRow.Delete
End If
End With
End Sub

Beachte Columns(1) 1=Spalte A auf Blatt Gesamtübersicht.
cu
Chris

AW: Makro Zellen filtern
15.12.2014 16:33:58
Gunther
Hi Chris,
Danke für die Antwort,
funktioniert einwandfrei.
da ich das Makro allerdings über insgesamt 14Blätter rennen lassen muß und ich das mit
Dim mySheets, oSH As Object
Set mySheets = Sheets(Array("Mitarbeiter", "Gesamtübersicht", "Januar"))
For Each oSH In mySheets
irgendwie nicht zufriedenstellend hin bekomme (klappt sonst- eigentlich)
hab ich den Befehl einfach 14x untereinander gesetzt.

Anzeige
AW: Makro Zellen filtern
16.12.2014 09:00:00
ChrisL
Hi Gunther
Liste auf Blatt Gesamtübersicht, Suchkriterien auf den einzelnen Blätter im Array, C16:
Sub ttt()
Dim mySheets, oSH As Object
Dim WS As Worksheet
Set mySheets = Sheets(Array("Mitarbeiter", "Januar"))
Set WS = Worksheets("Gesamtübersicht")
For Each oSH In mySheets
If WorksheetFunction.CountIf(WS.Columns(1), oSH.Range("C16")) = 0 Then
MsgBox "Suchkriterium nicht vorhanden"
Else
WS.Rows(Application.Match(oSH.Range("C16"), WS.Columns(1), 0)).EntireRow.Delete
End If
Next oSH
End Sub

cu
Chris

AW: Makro Zellen filtern
21.12.2014 13:27:56
Gunther
Hi Chri,
sorry das ich mich erst so spät melde, habe aber etwas gebraucht um das ding zum laufen zu bringen.
das suchkriterium befindet sich auf mitarbeiter c16 und die Listen auf den einzelnen blättern.
sieht jetzt so aus:
Sub Löschen()
With Worksheets("Mitarbeiter")
If WorksheetFunction.CountIf(.Columns(1), Worksheets("Mitarbeiter").Range("C16")) = 0 Then
MsgBox "Mitarbeiter nicht vorhanden"
Else
Dim i As Integer
i = MsgBox("Mitarbeiter löschen?", 1 + vbQuestion, "Löschabfrage")
If i = 2 Then
Exit Sub
Else
Call Einblenden
Dim mySheets, oSH As Object
Dim WS As Worksheet
Set mySheets = Sheets(Array("Mitarbeiter", "Gesamtübersicht", "Januar", "Februar", "März", " _
April", "Mai", "Juni", "Juli", "August", _
"September", "Oktober", "November", "Dezember"))
Set WS = Worksheets("Mitarbeiter")
For Each oSH In mySheets
oSH.Rows(Application.Match(WS.Range("C16"), oSH.Columns(1), 0)).EntireRow.Delete
Next oSH
End If
End If
End With
Call Ausblenden
End Sub
scheint zu funktionieren.
Vielen Dank nochmal für deine Hilfe.
Das nächste Bier geht auf mich :-)
Gunhter
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige