Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
488to492
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
488to492
488to492
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Code ergänzen.....bitte um Hilfe

Code ergänzen.....bitte um Hilfe
24.09.2004 12:38:51
Peter
Hallo Ihr Lieben,
hab mal wieder ein kleines Problem und bitte um Hilfe. Mit nachstehendem Code will ich in einer Tabelle alle Zeilen löschen, in denen meinetwegen der Wert "Affe" steht. Wenn ich im Code schreibe var = Aplication.Match("*Affe*", usw. dann führt er es richtig aus; mein Anliegen ist es aber den zu suchenden Begriff über eine ComboBox auszuwählen wie im Code ersichtlich.
Leider funktioniert es nicht, weß jemand wo der Fehler liegt?

Sub DeleteZeile()
Dim var As Variant
Dim iRow As Integer, iRowL As Integer
iRowL = Cells(Rows.Count, 1).End(xlUp).Row
For iRow = iRowL To 1 Step -1
var = Application.Match("*frmAuswertung.ComboBox2.Value*", Rows(iRow), 0)
If Not IsError(var) Then
Rows(iRow).Delete
End If
Next iRow
End Sub

Vielen Dank
Peter S.

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code ergänzen.....bitte um Hilfe
24.09.2004 12:42:01
grumble
verschsmal mit
var = Application.Match("*" & frmAuswertung.ComboBox2.Value & "*", Rows(iRow), 0)
evtl. noch das value mit text austauschen
Hallo gramble....noch ne Zusatzfrage
Peter
Hallo gramble,
vielen Dank das funktioniert gut:).....noch ne Zusatzfrage....ideal wäre es wenn nur die Zeilen gelöscht würden, wo der Wert der ComboBox (übrigens es funktioniert mit .value) in Spalte B nicht auftaucht....also die umgekehrte Funktion.....Weisst du da auch nen Rat?
Vielen Dank
Peter S.
AW: Code ergänzen.....bitte um Hilfe
Udo
Option Explicit

Sub DeleteZeile()
Dim var As Variant, t As Variant
Dim iRow As Long, iRowL As Long
iRowL = Cells(65536, 1).End(xlUp).Row
var = frmAuswertung.ComboBox2.Text
For iRow = iRowL To 1 Step -1
t = Application.Match(var, Rows(iRow), 0)
If Not IsError(var) Then
Rows(iRow).Delete
End If
Next iRow
End Sub

Udo
Anzeige
kleine Änderung...
Udo
Option Explicit

Sub DeleteZeile()
Dim var As Variant, t As Variant
Dim iRow As Long, iRowL As Long
iRowL = Cells(65536, 1).End(xlUp).Row
var = frmAuswertung.ComboBox2.Text
For iRow = iRowL To 1 Step -1
t = Application.Match(var, Rows(iRow), 0)
If Not IsError(t) Then
Rows(iRow).Delete
End If
Next iRow
End Sub

Hallo Udo......auch an Dich die Frage
Peter
Hallo Udo,
danke sehr auch dein vorschlag funktioniert sehr gut......aber idealerweise sollten die Zeilen gelöscht werden, in denen der Wert von ComboBox2 in Spalte B nicht enthalten ist.
Hast du dazu eine Idee?
Danke auch für Deine Hilfe
Peter S.
Anzeige
AW: Hallo Udo......teilweise schon gefunden
Peter
Hallo Udo,
teilweise habe ich die Lösung schon gefunden:
habe einfach das If Not IsError(t) ersetzt durch If IsError(t)
das haut gut hin, jedoch möchte ich jetzt noch die Begrenzung, dass nur die Zeilen gelöscht werden, in denen der gefragte Wert in Spalte B steht, da er in anderen Spalten auch auftauchen kann.
Danke
Peter S.
Lösung gefunden!!!...........Code anbei
Peter
Hallo Udo,
vielen Dank für Deine Unterstützung, jetzt habe ich nen Code gefunden, der die gefragten features hatte und hab ihn angepasst.

Sub DeleteZeile()
Dim Wert As String
Dim i As Integer
Wert = frmAuswertung.ComboBox2.Text
If Wert = "" Then Exit Sub
For i = Cells(Rows.Count, 1).End(xlUp).Row To 4 Step -1
If Cells(i, 2) <> Wert Then Rows(i).Delete
Next
End Sub

Vielen Dank für Deine Mühe
Peter S.
Anzeige
Prima o.T.
Kurt
.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige