Anzeige
Archiv - Navigation
1244to1248
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 vereinfachen

Makro vereinfachen
Jesse
Guten Tag,
da mir gestern schon in diesem Forum vorbildlich geholfen wurde, habe ich noch eine Frage bzgl eines Makros
Habe folgendes programmiert:
Sub SuchenundZerstören()
Range("A1").Select
Do Until ActiveCell.Value = ""
If Instr(1,ActiveCell.Value, "a") _
Then Selection.EntireRow.Delete _
Else: ActiveCell.Offset(1, 0).Select
Loop
Range("A1").Select
Do Until ActiveCell.Value = ""
If Instr(1,ActiveCell.Value, "b") _
Then Selection.EntireRow.Delete _
Else: ActiveCell.Offset(1, 0).Select
Loop
End Sub

Das funktioniert ja auch alles wunderbar, aber dann muss ich für jedes Kriterium nach dem ich suchen will, einen "5-Zeiler" schreiben, das muss doch auch einfacher gehen, das ich einfach schon im ersten Block alle Kriterien angeben kann?
Vielen Dank für jede Hilfe :)

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro vereinfachen
02.01.2012 13:44:05
Reinhard
Hallo Jesse,

Option Explicit
Sub SuchenundZerstören()
Dim arrSuch, intS As Integer, Zei As Long
arrSuch = Array("a", "b", "c", "d", "e")
For Zei = 1 To Cells(Rows.Count, 1).End(xlUp).Row
For intS = LBound(arrSuch) To UBound(arrSuch)
If Cells(Zei, 1).Value = arrSuch(intS) Then
Rows(intS).Delete
End If
Next intS
Next Zei
End Sub

Gruß
Reinhard
AW: Makro vereinfachen
02.01.2012 21:36:58
Jesse
Danke für die promte Antwort. Habe dein Makro in ein Modul eingefügt, allerdings bringt Excel die Fehlermeldung "1004" und zeigt dabei auf folgende Zeile: Rows(intS).Delete.
Vielen Dank nochmal!
Anzeige
AW: Makro vereinfachen
02.01.2012 21:44:57
hary
Hallo
nimm mal.

Rows(Zei).Delete
gruss hary
AW: oder meinst Du
02.01.2012 21:53:53
hary
hallo nochmal
oder ist der Buchstabe in der Mitte.

Dim arrSuch, intS As Integer, Zei As Long
arrSuch = Array("a", "b", "c", "d", "e")
For Zei = 1 To Cells(Rows.Count, 1).End(xlUp).Row
For intS = LBound(arrSuch) To UBound(arrSuch)
If InStr(1, Cells(Zei, 1).Value, arrSuch(intS)) Then
Rows(Zei).Delete
End If
Next intS
Next Zei

gruss hary
AW: oder meinst Du
02.01.2012 23:41:39
Jesse
Danke, jetzt klappt das ganze einwandfrei. Vielen Dank :)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige