Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
648to652
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
648to652
648to652
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeile mit comboBox löschen

Zeile mit comboBox löschen
04.08.2005 23:33:44
Tinu
Liebe VBA-Freaks
Ich habe eine UserForm mit einer ComboBox. Diese wird mit den Werten einer bestimmten Spalte gefüllt. Wenn ich nun einen Wert auswähle und den "Enter" Knopf der UserForm drücke, soll diejenige Zeile gelöscht werden, in der der ausgewählte Wert vorkommt. Dies funktioniert auch, solange es sich um Text handelt. In der entsprechenden Spalte können aber auch Zahlen vorkommen. Wenn ich aber eine Zahl auswähle, dann wird die Zeile nicht gelöscht.
Ist mir noch zu helfen..? ;)
Diesen Code habe ich mir zusammengebastelt:
' Zeile löschen

Worksheets("Sheet1").Select
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(CStr(ComboBox3), Rows(iRow), 0)
If Not IsError(var) Then
'MsgBox "do you really want to remove WP " & CStr(ComboBox3)
Rows(iRow).Delete
End If
Next iRow
besten Dank für Euere Hilfe
Gruss
Tinu

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile mit comboBox löschen
05.08.2005 00:05:28
Leo
Hi,
mach eine Fallunterscheidung. Wenn die Combobóx numerisch ist, CDbl(Combobox3) sonst
CStr(Combobox3).
mfg Leo
AW: Zeile mit comboBox löschen
05.08.2005 00:11:26
Matthias
Hallo Tinu,

Worksheets("Sheet1").Select
Dim var As Variant, txt As Variant
Dim iRow As Integer, iRowL As Integer
iRowL = Cells(Rows.Count, 1).End(xlUp).Row
For iRow = iRowL To 1 Step -1
txt =  IIf(Isnumeric(ComboBox3), Val(ComboBox3), CStr(ComboBox3))
var = Application.Match(txt, Rows(iRow), 0)
If Not IsError(var) Then
'MsgBox "do you really want to remove WP " & CStr(ComboBox3)
Rows(iRow).Delete
End If
Next iRow

D.h., der Text der Combobox muss b.B. in einen numerischen Wert umgewandelt werden, sonst findet Match() die Zelle nicht.
Gruß Matthias
Anzeige
AW: Zeile mit comboBox löschen
05.08.2005 00:22:08
Leo
Hi,
Val ist keine gute Wahl, weil nur für Ganzzahlen geeignet, CDbl ist universeller.
mfg Leo
AW: Zeile mit comboBox löschen
05.08.2005 00:28:44
Matthias
Hallo Leo,
kommt drauf an, ob das Dezimaltrennzeichen im String ein Punkt oder ein Komma ist:

Val("12.34")  = 12,34
CDbl("12.34") = 1234
Val("12,34")  = 12
CDbl("12,34") = 12,34

Ist schon ganz schön verwirrend. Kommt sicher auch noch auf die Spracheinstellung an.
Gruß Matthias
AW: Zeile mit comboBox löschen
05.08.2005 00:31:19
Leo
Hi,
schon klar, Val kann nur den . und CDbl das Komma. Falls nicht anders angegeben, kann
man wohl von deutschen Einstellungen ausgehen.
mfg Leo
Anzeige
AW: Zeile mit comboBox löschen
05.08.2005 01:31:36
Tinu
Hi Matthias und Leo,
besten Dank für euere Hilfe. Ich habe mich für die Variante Val entschieden, denn mit Val funktionieren nur Werte mit Dezimalpunkt nicht. Mit CDbl bekomme ich zusätzlich mit Dezimalkomma eine Fehlermeldung. Da ich weder Dezimalkommas noch Dezimalpunkte in der Liste habe, ist mein Problem somit gelöst. Nochmals vielen Dank!
Grüsse aus der Schweiz
Tinu

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige