Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Mehrere Datensätze löschen

Mehrere Datensätze löschen
24.10.2008 21:49:00
Frank
Hallo Excelfreaks!!!
In einer Userform befindet sich ein Listenfeld, in diesem werden alle Suchtreffer oder auch einzelne Suchtreffer angezeigt. Mit folgendem Code werden einzelne Datensätze nach erfolgtem Klick darauf gelöscht. Wie muss ich den Code erweitern, dass ich mehrere Datensätze gleichzeitig markieren kann um sie dann zu löschen? Zuvor sollte noch nachgefragt werden ob ich denn wirklich löschen will!
Mein Code:

Sub Datensatz_löschen()
Dim lng As Long
Dim i As Integer
Application.ScreenUpdating = False
With FrmHinweise
.ListBox1.Clear
Sheets("Hinweise").Activate
i = 0
For lng = 3 To ActiveSheet.UsedRange.Rows.Count
If InStr(LCase(Cells(lng, 2).Value), LCase(.TextBox1.Value)) > 0 Then
.ListBox1.AddItem Cells(lng, 2).Value
.ListBox1.Column(1, i) = Cells(lng, 3).Value
.ListBox1.Column(2, i) = Cells(lng, 4).Value
.ListBox1.Column(3, i) = Cells(lng, 5).Row
i = i + 1
Else
End If
Next lng
End With
FrmHinweise.Label4.Caption = FrmHinweise.Label1.Caption
FrmHinweise.Label5.Caption = FrmHinweise.Label2.Caption
FrmHinweise.Label6.Caption = FrmHinweise.Label2.Caption
Application.ScreenUpdating = True
Dim zelle As Range
Dim sBegriff As Date
sBegriff = CDate(TextBox1)
If sBegriff = 0 Then Exit Sub
Set zelle = Worksheets("Hinweise").Columns(2) _
.Find(sBegriff, LookAt:=xlWhole)
If zelle Is Nothing Then
MsgBox "Suchbegriff wurde nicht gefunden!"
Else
zelle.Select
Selection.ClearContents
zelle.Offset(0, 1).Select
Selection.ClearContents
zelle.Offset(0, 2).Select
Selection.ClearContents
End If
ListBox1.Clear
FelderLöschen
End Sub


Wer kann helfen? Allen Helfern bereits jetzt mein allerherzlichster Dank!!!
Gruß Frank H.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Datensätze löschen
26.10.2008 13:21:00
Dirk
Hallo Frank,
hab mal was an Deinem Macro geaendert.

Sub Datensatz_löschen()
Dim lng As Long
Dim i As Integer
Application.ScreenUpdating = False
With FrmHinweise
.listbox1.Clear
Sheets("Hinweise").Activate
i = 0
For lng = 3 To ActiveSheet.UsedRange.Rows.Count
If InStr(LCase(Cells(lng, 2).Value), LCase(.TextBox1.Value)) > 0 Then
.listbox1.AddItem Cells(lng, 2).Value
.listbox1.Column(1, i) = Cells(lng, 3).Value
.listbox1.Column(2, i) = Cells(lng, 4).Value
.listbox1.Column(3, i) = Cells(lng, 5).Row
i = i + 1
Else
End If
Next lng
End With
FrmHinweise.Label4.Caption = FrmHinweise.Label1.Caption
FrmHinweise.Label5.Caption = FrmHinweise.Label2.Caption
FrmHinweise.Label6.Caption = FrmHinweise.Label2.Caption
Application.ScreenUpdating = True
Dim zelle As Range
Dim sBegriff As Date
sBegriff = CDate(TextBox1)
If sBegriff = 0 Then Exit Sub
Set zelle = Worksheets("Hinweise").Columns(2) _
.Find(sBegriff, LookAt:=xlWhole)
if Zelle = nothing then
MsgBox "Suchbegriff wurde nicht gefunden!"
goto cleanUp
end if
'Generate a list of the selected items
With listbox1
For i = 0 To .ListCount - 1
If .Selected(i) Then
msg = msg & .List(i) & vbNewLine
End If
Next i
End With
If msg = vbNullString Then
'If nothing was selected, tell user and let them try again
MsgBox "Nothing was selected!  Please make a selection!"
goto retrySelect
Else
'Ask the user if they are happy with their selection(s)
Check = MsgBox("You selected:" & vbNewLine & msg & vbNewLine & _
"Are you happy with your selections?", _
vbYesNo + vbInformation, "Please confirm")
If msg = vbYes Then
For i = 1 To listbox1.ListCount
If .Selected(i) Then
Range(.List(i)).ClearContents
Range(.List(i)).Offset(0, 1).ClearContents
Range(.List(i)).Offset(0, 2).ClearContents
End If
Next i
End If
End If
exit sub
CleanUp:
listbox1.Clear
FelderLöschen
End Sub


Hab's nicht getestet & waere einfacher wenn Du deine Tabelle hochladen wuerdest, aber der Ansatz waere in etwa so. Musst am Anfang nachdem das Userform verlassen wurde die Listbox bestehen lassen, da sonst die Auswahl verloren geht. Und welcher event veranlasst, das der click auf einen listboxeintrag zum loeschen fuehrt?
Lass' mal hoeren, obs funktioniert.
Gruss
Dirk aus Dubai

Anzeige
AW: Mehrere Datensätze löschen
26.10.2008 15:32:25
Frank
Hallo Dirk!
Vielen Dank für dein Interesse an meinem Problem!
Das mit dem Hochladen funktioniert nicht, scheitert an der Dateigröße!
Zuerst änderte ich in der ListBox - Eigenschaft die Multselect Eigenschaft, dann kopierte ich deinen Code in meine Datei und erhielt folgende Fehlermeldung beim Testen.
Unzulässige Verwendung eines Objekts. In der Zeile "If zelle = Nothing Then wird Nothing blau hinterlegt.
Ich habe null Ahnung aber vielleicht du! Danke im Vorraus!!!
Gruß Frank H.
AW: Mehrere Datensätze löschen
26.10.2008 16:19:53
Leonhard.Stempfle
Hallo Frank,
ich hatte auch schon mal dieses Problem.
Damals habe ich das nur aufwendig hingewurstelt.
Die Sache interesiert mich und möchte dir deswegen eine Adresse weitergeben um deine Datei hochzuladen.
Wäre schön wenn ich die mal ausprobieren kann.
http://www.hostarea.de/
Gruß Leo
Anzeige
AW: Mehrere Datensätze löschen
26.10.2008 18:07:27
Frank
Hallo Leo!
Die Datei ist 15 MB groß, so dass es nicht funktionierte!!!
Solltest du trotzdem Interesse haben, dann teile mir doch bitte deine E-Mail Adresse mit und ich schicke dir die Datei! Wundere dich aber nicht, denn sie ist von mir als Laien zusammen gebastelt wurden und wird Excel-Profis nicht unbedingt üpberzeugen, aber ich lerne immer noch!!!
Gruß Frank H.
AW: Mehrere Datensätze löschen
27.10.2008 11:23:00
Leonhard.Stempfle
Hallo Frank,
meine E-Mail Adresse Leonhard.Stempfle@t-online.de
Danke schon mal im voraus.
Gruß Leo
AW: Mehrere Datensätze löschen
28.10.2008 07:20:00
Dirk
Hallo Frank,
kannst Du mal kurz beschreiben, was in Deiner Userform eingegeben werden muss, damit Dein Macro ablaeuft. Ich habe mal eine UF gebastelt mit den referenzen aus dem Macro und ich bekomme fuer Dein Macro genau die selbe Fehlermeldung wg Nothing. Warscheinlich muss in der Textbox1 ein Datum eingegeben werden.
Falls das mit dem Markieren und loeschen einzelner Eintraege funktioniert, ist das selbe auch mit mehreren Eintraegen moeglich.
Ggf. Kannst Du ja mal die Userform hochladen.
Gruss\
\
Dirk aus Dubai
Anzeige
AW: Mehrere Datensätze löschen
28.10.2008 17:46:00
Frank
Hallo Dirk!
Im Code den ich zuerst ins Forum gestellt habe wird die Einzelsuche per Datum in der TextBox1 ausgelöst.
Für die Suche aller vorhandenen Datensätze wird folgender Code (Ausschnitt) verwendet:
Dim zelle As Range
Dim sBegriff As String
sBegriff = TextBox1.Value
If sBegriff = "" Then Exit Sub
Set zelle = Worksheets("Hinweise").Columns(2) _
.Find(sBegriff, LookAt:=xlWhole)
If zelle Is Nothing Then
MsgBox "Suchbegriff wurde nicht gefunden!"
Else
MsgBox "Suchbegriff befindet sich in Zelle " & _
zelle.Address
End If
zelle.Select
End Sub
Ich hoffe das reicht dir? Mit dem Hochladen bin ich überfordert! Wenn du mit einer durch 'nen blutigen Laien (wenn ich euch alle so kennen gelernt habe) angefertigten Datei, welche 15 MB groß ist dich auseinandersetzen willst, dann teile mir einfache deine E-mail Adresse mit und ich schicke dir die Datei!!
Danke und freundl. Grüße aus der Hauptstadt sagt Frank H.
Anzeige

301 Forumthreads zu ähnlichen Themen


Hallo Hans,
wenn ich die URLs richtig interpretiere, haben wir im Forum soeben die Zahl von 1 Million Beiträgen überschritten.
Herzlichen Glückwunsch zu dem Erfolg Deines "Babys"!
Gruß
Martin

Hallo Leute,
heute habe ich wieder mal ein einfaches Problem für Euch, an dem ich aber nicht weiter kommen:
Ich möchte die Arbeitsblätter in meiner Arbeitsmappe zählen. Das ist ja kein Problem (ThisWorkbook.sheets.count).
wenn das makro mehr als ein Arbeitsblatt zählt (also das Erge...

Hallo zusammen!
Ich habe da als blutiger Anfänger in VBA zwei Fragen:
1.) Wie kann ich in meiner Tabelle in jeder zweiten Spalte 4 leere Spalten einfügen lassen?
2.) Dann möchte ich unter den Inhalt der ersten fünf Spalten (A-E) den Inhalt der zweiten 5 Spalten (F-J) usw. In der grö...

Guten Morgen!
Ich hätte folgendes Problem: Ich erhalte automatisiert Exceltabellen, bei denen nicht alle Zellen einer Zeile gefüllt werden, wenn dort der Inhalt einer darüberliegenden Zeile stehen sollte. Zur Weiterverarbeitung muss ich aber diese Zellen mit den dazugehörigen Werten füllen....

Hallo,
google spuckt Zu "Excel" und "Häufigkeitslücken" lediglich 3 Treffer aus, die nicht gerade brauchbar für meine Aufgabe sind.
Ich muss für 3 Variablen eine Typisierung mit einer Häufigkeitslücke durchführen.
Hiermit bin ich fast gänzlich überfragt. Mit Quantilen hatte ich das...

Hallo zusammen,
ich habe eine lange Liste, in der in einer Spalte Daten stehen, wo ab und zu vorangehende Nullen nötig sind (mal eine - mal 2...etc.) - und manchmal auch keine.
Wie kann ich diese Zellen formatieren, das die vorangehenden "Nullen" nicht automatisch weggelassen werden?

Links zu Excel-Dialogen

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige