Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
652to656
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
652to656
652to656
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Datensatz löschen InputBox
22.08.2005 09:37:33
rudiflei
In meiner Tabelle „Auswertung“ stehen ab Zeile „13“ Datensätze (Spalten „B“ bis „L“) untereinander, die jeweils in der Spalte B mit einer Auftragsnummer beginnen.
Mittels einer InputBox soll die Zeile mit der einzugebenden Auftragsnummer gelöscht werden.
Mitteilung: Soll die Auftragsnummer wirklich xxxxx geschlöscht werden?
J/N.
Als Ausgabe erwarte ich:
Auftragsnummer xxxxxx wurde gelöscht bzw. Auftragsnummer xxxxxxx wurde nicht gefunden.
OK
Kann mir jemand helfen?
Gruß rudflei

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datensatz löschen InputBox
22.08.2005 12:06:39
Andi
Hi,
wenn die ganze Zeile und nicht nur der Inhalt gelöscht werden soll, dann so:

Sub loeschen()
Dim art_nr As Double
Dim zelle As Range
art_nr = InputBox("Bitte eine Artikelnummer eingeben:")
Set zelle = Worksheets("Tabelle1").Columns(2).Find(art_nr)
If zelle Is Nothing Then
MsgBox ("Artikelnummer " & CStr(art_nr) & " nicht gefunden")
Exit Sub
End If
Rows(zelle.Row).Delete
MsgBox ("Artikel " & CStr(art_nr) & " gelöscht")
End Sub

Wenn die Artikelnummer mehrfach vorkommt, dann wird nur der erste Eintrag gelöscht.
Schönen Gruß,
Andi
Anzeige
AW: Datensatz löschen InputBox
23.08.2005 12:39:56
Rudi

Sub loeschen()
Sheets("Auswertung").Select
Dim art_nr As Double
Dim zelle As Range
Hallo Andy,
Wenn ich die InputBox abbreche, erhalte ich folgenden Fehler:
Laufzeitfehler 13, Typen unverträglich. Hast Du eine Idee wie wir das verhinder können?
Der Code sieht zur Zeit so aus:

Sub loeschen()
Sheets("Auswertung").Select
Dim art_nr As Double
Dim zelle As Range
art_nr = InputBox("Bitte eine Auftragsnummer eingeben:")
Set zelle = Worksheets("Auswertung").Columns(2).Find(art_nr)
If zelle Is Nothing Then
MsgBox ("Auftragsnummer " & CStr(art_nr) & " nicht gefunden")
Exit Sub
End If
Rows(zelle.Row).Delete
MsgBox ("Auftrag " & CStr(art_nr) & " gelöscht")
End Sub

gruß rudiflei
Anzeige
AW: Datensatz löschen InputBox
23.08.2005 17:00:32
Andi
Hi,
probier mal das:

Sub loeschen()
Dim art_nr As String
Dim zelle As Range
art_nr = InputBox("Bitte eine Artikelnummer eingeben:")
If art_nr = "" Then Exit Sub
Set zelle = Worksheets("Tabelle1").Columns(2).Find(art_nr)
If zelle Is Nothing Then
MsgBox ("Artikelnummer " & CStr(art_nr) & " nicht gefunden")
Exit Sub
End If
Rows(zelle.Row).Delete
MsgBox ("Artikel " & CStr(art_nr) & " gelöscht")
End Sub

Schönen Gruß,
Andi
AW: Datensatz löschen InputBox
24.08.2005 08:50:05
Rudi
Hallo Andi,
danke. Der Laufzeitfehler ist weg.
Allerdings noch ein kleiner Schönheitsfehler:
wenn der der Datensatz nicht gefunden wurde oder ich die InputBox mittels des ABBRECHEN Buttons abbreche, bleibt Excel im Sheet "Auswertung" stehen, es soll aber in beiden Fällen ins Sheet "Maske" zurückspringen.
Der aktuelle Code sieht so aus:

Sub AuftragLoeschen()
Application.ScreenUpdating = False
Sheets("Auswertung").Select
Dim art_nr As String
Dim zelle As Range
art_nr = InputBox("Bitte eine Auftragsnummer eingeben:")
If art_nr = "" Then Exit Sub
Set zelle = Worksheets("Auswertung").Columns(2).Find(art_nr)
If zelle Is Nothing Then
MsgBox ("Datensatz " & CStr(art_nr) & " nicht gefunden")
Exit Sub
End If
Rows(zelle.Row).Delete
MsgBox ("Datensatz " & CStr(art_nr) & " gelöscht")
Sheets("Maske").Select
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Datensatz löschen InputBox
24.08.2005 09:06:32
Andi
Guten Morgen!
So?

Sub AuftragLoeschen()
Application.ScreenUpdating = False
Sheets("Auswertung").Select
Dim art_nr As String
Dim zelle As Range
art_nr = InputBox("Bitte eine Auftragsnummer eingeben:")
If art_nr = "" Then
Sheets("Maske").Select
Exit Sub
End If
Set zelle = Worksheets("Auswertung").Columns(2).Find(art_nr)
If zelle Is Nothing Then
MsgBox ("Datensatz " & CStr(art_nr) & " nicht gefunden")
Sheets("Maske").Select
Exit Sub
End If
Rows(zelle.Row).Delete
MsgBox ("Datensatz " & CStr(art_nr) & " gelöscht")
Sheets("Maske").Select
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Datensatz löschen InputBox
22.08.2005 12:12:47
Harald
Hallo rudflei
der Quellcode stammt von der famosen Excel-CD von Herber und ist ungetestet händisch angepasst, da ich deine Datei nicht nachbauen kann.
In das Standard-Modul kopieren

Sub Loeschen()
Dim rngFind As Range
Dim var As Variant
Dim sWkn As String
sWkn = Application.InputBox( _
prompt:="Wie lautet Auftragsnummer des zu löschenden Datensatz?", _
Title:="Löschung von Datensatz", _
Default:="123461")
If sWkn = "" Then Exit Sub
var = Application.Match(CLng(sWkn), Columns(2), 0)
If IsError(var) Then
Beep
MsgBox "Datensatz-Nummer wurde nicht gefunden!"
Else
If MsgBox( _
prompt:="Soll der gefundene Datensatz gelöscht werden?", _
Buttons:=vbQuestion + vbYesNo _
) = vbNo Then Exit Sub
Rows(var).Delete
MsgBox ("Datensatz " & var & " wurde gelöscht")
End If
End Sub

Viel Erfolg
Harald
Anzeige
AW: Datensatz löschen InputBox
22.08.2005 21:22:32
Rudi
Hallo Harald,
das funktioniert soweit hat aber einen Schönheitsfehler,
denn wenn ich die Inputbox abbreche erhalte ich den Laufzeitfehler 13 (Typen unverträglich mit dem Bezug auf die Zeile:
var = Application.Match(CLng(sWkn), Columns(2), 0)
können wir das noch abstellen?
gruss rudiflei
AW: Datensatz löschen InputBox
23.08.2005 07:35:48
Harald
Hallo Rudi,
der Fehler liegt wohl an "var", das selbst eine vba-Abkürzung ist und daher nicht als Variable eingesetzt werden kann. Nimm einfach bei jedem!!! var das r am Schluss weg.
Mit va as variant hab ich den Code ok-getestet.
Gruß
Harald

Sub Loeschen()
Dim rngFind As Range
Dim va As Variant
Dim sWkn As String
sWkn = Application.InputBox( _
prompt:="Wie lautet Auftragsnummer des zu löschenden Datensatz?", _
Title:="Löschung von Datensatz", _
Default:="123461")
If sWkn = "" Then Exit Sub
va = Application.Match(CLng(sWkn), Columns(2), 0)
If IsError(va) Then
Beep
MsgBox "Datensatz-Nummer wurde nicht gefunden!"
Else
If MsgBox( _
prompt:="Soll der gefundene Datensatz gelöscht werden?", _
Buttons:=vbQuestion + vbYesNo _
) = vbNo Then Exit Sub
Rows(va).Delete
MsgBox ("Datensatz in Zeile " & va & " wurde gelöscht")
End If
End Sub

Anzeige
AW: Datensatz löschen InputBox
23.08.2005 12:28:19
Rudi
Hallo Harald,
das Problem besteht immer noch. Der Code sieht bei mir so aus:

Sub DatensatzLoeschen()
Application.ScreenUpdating = False
Sheets("Auswertung").Select
Dim rngFind As Range
Dim va As Variant
Dim sWkn As String
sWkn = Application.InputBox( _
prompt:="Wie lautet Auftragsnummer des zu löschenden Datensatz?", _
Title:="Löschung von Datensatz", _
Default:="")
If sWkn = "" Then Exit Sub
va = Application.Match(CLng(sWkn), Columns(2), 0)
If IsError(va) Then
Beep
MsgBox "Datensatz-Nummer wurde nicht gefunden!"
Else
If MsgBox( _
prompt:="Soll der gefundene Datensatz gelöscht werden?", _
Buttons:=vbQuestion + vbYesNo _
) = vbNo Then Exit Sub
Rows(va).Delete
MsgBox ("Datensatz " & va & " wurde gelöscht")
Application.Goto Reference:="MNAME"
Application.ScreenUpdating = True
End If
End Sub

gruß rudiflei
Anzeige
AW: Datensatz löschen InputBox
23.08.2005 12:48:21
Harald
Ja klar...ich Narr. Wenn ich deine erste Rückmeldung mal ordentlich gelesen hätte, wär die Sache schon gegessen.
Habe On Error-Routine eingebaut...läuft nun.

Sub DatensatzLoeschen()
Application.ScreenUpdating = False
Sheets("Tabelle1").Select
Dim rngFind As Range
Dim va As Variant
Dim sWkn As String
On Error GoTo ende
sWkn = Application.InputBox( _
prompt:="Wie lautet Auftragsnummer des zu löschenden Datensatz?", _
Title:="Löschung von Datensatz", _
Default:="")
If sWkn = "" Then Exit Sub
va = Application.Match(CLng(sWkn), Columns(2), 0)
If IsError(va) Then
Beep
MsgBox "Datensatz-Nummer wurde nicht gefunden!"
Else
If MsgBox( _
prompt:="Soll der gefundene Datensatz gelöscht werden?", _
Buttons:=vbQuestion + vbYesNo _
) = vbNo Then Exit Sub
Rows(va).Delete
MsgBox ("Datensatz " & va & " wurde gelöscht")
Application.Goto Reference:="MNAME"
Application.ScreenUpdating = True
End If
ende:
End Sub

Gruß
harald
Anzeige
AW: Datensatz löschen InputBox
23.08.2005 17:31:22
Rudi
Danke, prima soweit.
No ne winzige Kleinigkeit.
Wenn ich abbrech ist der Laufzeitfehler weg.
Das Makro bleibt allerdings im Sheet "Auswertung", es soll
aber zurück zum Sheet "Maske", Feldnamen: MNAME" springen.
gruß rudiflei
AW: Datensatz löschen InputBox
23.08.2005 18:34:22
Harald
Das tut Application.Goto Reference:="MNAME" und sollte dann natürlich zwischen ende: und End Sub...ebenso der screenupdate
MsgBox ("Datensatz " & va & " wurde gelöscht")
End If
ende:
Application.Goto Reference:="MNAME"
Application.ScreenUpdating = True
End Sub
Gruß
Harald
AW: Datensatz löschen InputBox
24.08.2005 08:55:17
Rudi
Danke Harald, funktioniert prima so.
Anzeige
Danke für Rückmeldung o.w.T
24.08.2005 09:54:51
Harald
Gruß
Harald

62 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige