2k Aufrufe
Gefragt in Tabellenkalkulation von orion Einsteiger_in (73 Punkte)
Hallo zusammen,

ich bin noch ziemlich unbelckt, was die Arbeit mit Makros angeht.

Ich möcht in einer Spalte bestimmte Kriterien filtern und dann die gefilterten Zeilen löschen.

Das geht doch sicherlich per makro., oder?
Danke für die Antworten.

Grüße
Andreas

9 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Andreas,

wenn Du dazu unbedingt ein Makro brauchst, was ich nicht für nötig halte, dann zeichne doch die Filterprozedur einfach mit dem Makrorekorder auf, um zum entsprechenden Code zu kommen.

Gruß
Rainer
0 Punkte
Beantwortet von
Hallo Andreas,
ich hab dir mal eine Musterdatei erstellt.
Gefiltert wird Spalte A, und dann gleich die Zeilen gelöscht.

Gruß
fedjo
0 Punkte
Beantwortet von orion Einsteiger_in (73 Punkte)
Hallo Rainer,

vielen Dank für die Antwort. Ich möchte natürlich mehrere Kriterierien in der Spalte filtern und das oftmals. da dachte ich, ein Makro wäre nicht verkehrt.

Werde es mal mit dem Recorder probieren.

Gruß
Andreas
0 Punkte
Beantwortet von orion Einsteiger_in (73 Punkte)
Hallo fedjo,

ich komme mit dem Download leider nicht durch unsere Firewall.

Kannst Du mir den makrotext in das forum kopieren?

Gruß
Andreas
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Andreas,

Ich möchte natürlich mehrere Kriterierien in der Spalte filtern und
das oftmals. da dachte ich, ein Makro wäre nicht verkehrt.


Habe nicht behauptet, dass ein Makro verkehrt ist.
Aber Angesichts der Tatsache, dass Du auch dem Makro Deine
Filterwünsche (Kriterien) mitteilen musst, relativiert sich der Nutzen
eines Makros.

Gruß
Rainer
0 Punkte
Beantwortet von orion Einsteiger_in (73 Punkte)
Hallo Rainer,

es wären immer die gleichen zu filternden Kriterien...
Ich möchte mir einfach die Klicks Filter, Kriterierien auswählen, Filterergebnis löschen ersparen.

Gruß
Andreas
0 Punkte
Beantwortet von
Hallo Andreas,
Code in Tabelle1 einfügen.
Gruß
fedjo

Option Explicit
Sub Filter()
Application.ScreenUpdating = False ' Tabellenwechsel unterbinden
[list] Dim c, firstAddress
Dim strSuch As String, rngBer As Range
Set rngBer = Range("A2:A" & Range("A65536").End(xlUp).Row)
With rngBer
strSuch = InputBox("in Spalte: A", "Suchen", "Eingabe")
If strSuch = "" Then
Exit Sub
End If
Set c = .Find(strSuch, LookIn:=xlValues)
If c Is Nothing Then
MsgBox "Eintrag nicht vorhanden"
Exit Sub
Else
Worksheets(1).Columns("A:A").AutoFilter _
Field:=1, Criteria1:=strSuch, VisibleDropDown:=False 'keine Filteranzeige
Selection.SpecialCells(xlCellTypeVisible).Delete
End If
End With
End Sub[/list]
0 Punkte
Beantwortet von orion Einsteiger_in (73 Punkte)
Hallo Fedjo,

vielen Dank! Ich habe mittlerweile den Makrorecorder benutzt und bin mit dem Ergebnis zufrieden.

Deine Lösung werde ich aber auf jedenfall mal ausprobieren.

Wie kann man VBA am Besten und schnellsten lernen? Hast Du dafür auch ein paar gute Tipps?

Gruß
Andreas
0 Punkte
Beantwortet von
Hallo Andreas,
wie man VBA am Besten und schnellsten lernen kann, muß wohl jeder für sich selbst herausfinden.

Ich habe mir als Anfang ein Buch über VBA und Makros zugelegt.
Ansonsten lerne ich ständig hier im Forum und Internet dazu.
Nach dem Spruch: Learning by Doing

Gruß
fedjo
...