Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

Forumthread: 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.
Anzeige

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.
Anzeige
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

Anzeige
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.
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.
Anzeige
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
.
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige