Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1308to1312
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
Inhaltsverzeichnis

Userform nach Datenübermittlung leeren

Userform nach Datenübermittlung leeren
10.04.2013 13:11:46
Sascha
Hallo,
bei einem Button im Userform habe ich den folgenden Code hinterlegt.
Ich möchte allerdings, dass nach der Datenübergabe die Eingabefelder
geleert werden.
Kann mir jemand sagen wie ich das realisiert bekomme?
Vorab vielen lieben Dank.
LG
Sascha
Option Explicit
Private Sub CommandButton_Insert_Click()
On Error GoTo hell
Dim lRow As Long
With Sheet2
lRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(lRow, 1).Value = Date
If IsNumeric(Me.ComboBox_Artikelnummer) Then .Cells(lRow, 2).Value = --Me. _
ComboBox_Artikelnummer Else .Cells(lRow, 2).Value = Me.ComboBox_Artikelnummer
.Cells(lRow, 3).FormulaR1C1 = "=VLOOKUP(RC[-1],Datenbank!C1:C2,2,)"
.Cells(lRow, 3).Value = .Cells(lRow, 3).Value
If Not Me.TextBox_Zugang = "" Then .Cells(lRow, 4).Value = --Me.TextBox_Zugang
If Not Me.TextBox_Abgang = "" Then .Cells(lRow, 5).Value = --Me.TextBox_Abgang
.Cells(lRow, 6).Value = Application.WorksheetFunction.Substitute(Me.TextBox_LagerID, "ß", "- _
")
.Cells(lRow, 7).Value = Me.ComboBox_NamenKurz
.Cells(lRow, 8).Value = Application.WorksheetFunction.VLookup(Me.ComboBox_NamenKurz, Sheet1. _
Range("G1:H1").EntireColumn, 2, False)
Me.TextBox_Abgang.Text = ""
Me.TextBox_Zugang.Text = ""
Me.ComboBox_Artikelnummer.SetFocus
End With
GoTo heaven:
hell:
MsgBox ("Eintrag gescheitert, bitte prüfen und korrigieren")
Sheet2.Cells(lRow, 1).EntireRow.ClearContents
heaven:
End Sub

Private Sub Label_LagerID_Click()
End Sub

Private Sub TextBox_Abgang_Change()
End Sub

Private Sub UserForm_Initialize()
Dim lRow As Long
Dim r As Range
With Sheet1
lRow = .Cells(Rows.Count, 7).End(xlUp).Row
For Each r In .Range(.Cells(3, 7), .Cells(lRow, 7)) 'Namensbox füllen
Me.ComboBox_NamenKurz.AddItem r.Value
Next r
lRow = .Cells(Rows.Count, 1).End(xlUp).Row
For Each r In .Range(.Cells(3, 1), .Cells(lRow, 1)) 'Artikelnummern füllen
Me.ComboBox_Artikelnummer.AddItem r.Value
Next r
End With
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform nach Datenübermittlung leeren
10.04.2013 13:16:04
Rudi
Hallo,
setze Textboxen auf "" und bei den Comboboxen den Listindex auf -1.
Gruß
Rudi

AW: Userform nach Datenübermittlung leeren
10.04.2013 13:27:49
Sascha
Hallo Rudi,
das ist nicht mein Code, ich weis gar nicht was ich da machen soll.
Kannst Du mir vielleicht noch etwas weiterhelfen?
LG
Sascha

AW: Userform nach Datenübermittlung leeren
10.04.2013 13:39:45
Klaus
Hallo Sascha,
wer hat den diesen Stümpercode verbrochen? Der sieht ja schrecklich aus! :-)
Kannst du die Datei eben hochladen?
das hier
Me.TextBox_Abgang.Text = ""
Me.TextBox_Zugang.Text = ""
sollte eigentlich den Zweck schon erfüllen, wie Rudi vorschlug.
Wir müssten mal alle Namen von allen Textboxen und Comboboxen wissen - das geht am besten, wenn wir die in der Datei sehen. Kannst auch alle Daten aus den Tabellen löschen, es geht ja nur um das VBA und die UserForm.
Dass die TextBoxen NICHT geleert werden, wenn der Code abbricht, soll aber so bleiben?
Grüße,
Klaus M.vdT.

Anzeige
AW: Userform nach Datenübermittlung leeren
10.04.2013 14:02:15
Sascha
Hallo Klaus,
anbei wie gewünscht die Datei.
Nein, die TextBoxen sollen dann geleert werden.
https://www.herber.de/bbs/user/84816.xlsm
LG
Sascha

AW: Userform nach Datenübermittlung leeren
10.04.2013 14:36:31
Klaus
Hallo Sascha,
anbei der aktualisierte Code des Insert-Button.
Private Sub CommandButton_Insert_Click()
On Error GoTo hell
Dim lRow As Long
With Sheet2
lRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(lRow, 1).Value = Date
If IsNumeric(Me.ComboBox_Artikelnummer) Then .Cells(lRow, 2).Value = --Me. _
ComboBox_Artikelnummer Else .Cells(lRow, 2).Value = Me.ComboBox_Artikelnummer
.Cells(lRow, 3).FormulaR1C1 = "=VLOOKUP(RC[-1],Datenbank!C1:C2,2,)"
.Cells(lRow, 3).Value = .Cells(lRow, 3).Value
If Not Me.TextBox_Zugang = "" Then .Cells(lRow, 4).Value = --Me.TextBox_Zugang
If Not Me.TextBox_Abgang = "" Then .Cells(lRow, 5).Value = --Me.TextBox_Abgang
.Cells(lRow, 6).Value = Application.WorksheetFunction.Substitute(Me.TextBox_LagerID, "ß", "- _
")
.Cells(lRow, 7).Value = Me.ComboBox_NamenKurz
.Cells(lRow, 8).Value = Application.WorksheetFunction.VLookup(Me.ComboBox_NamenKurz, Sheet1. _
Range("G1:H1").EntireColumn, 2, False)
Me.ComboBox_Artikelnummer.SetFocus
End With
'alles zurück setzen
Me.TextBox_Abgang.Text = ""
Me.TextBox_Zugang.Text = ""
Me.TextBox_LagerID.Text = ""
Me.ComboBox_Artikelnummer.ListIndex = -1
Me.ComboBox_NamenKurz.ListIndex = -1
GoTo heaven:
hell:
'alles zurück setzen
Me.TextBox_Abgang.Text = ""
Me.TextBox_Zugang.Text = ""
Me.TextBox_LagerID.Text = ""
Me.ComboBox_Artikelnummer.ListIndex = -1
Me.ComboBox_NamenKurz.ListIndex = -1
MsgBox ("Eintrag gescheitert, bitte prüfen und korrigieren")
Sheet2.Cells(lRow, 1).EntireRow.ClearContents
heaven:
End Sub
Grüße,
Klaus M.vdT.

Anzeige
Platzverschwender! ;-)
10.04.2013 14:47:17
Rudi
Hallo,
da man auf jeden Fall mal in den Himmel kommt, kann man doch da leeren.
Gruß
Rudi

*kopf -> Tisch*
10.04.2013 14:57:17
Klaus
Hallo Rudi,
unglaublich. Ich saß da grad ungelogen zwei Minuten vor und hab überlegt, wie ich die Codeverdoppelung vermeiden kann. Wollte das schon in eine eigene Sub auslagern.
Wald und Bäume, oder so ähnlich ging das Sprichwort. Danke für die Korrektur!
Grüße,
Klaus M.vdT.

AW: Platzverschwender! ;-)
10.04.2013 15:41:06
Sascha
Hallo,
funktioniert jetzt einwandfrei.
Vielen Dank.
LG
Sascha

AW: Userform nach Datenübermittlung leeren
10.04.2013 14:44:05
Rudi
Hallo,
Private Sub CommandButton_Insert_Click()
On Error GoTo hell
Dim lRow As Long
With Sheet2
lRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(lRow, 1).Value = Date
If IsNumeric(ComboBox_Artikelnummer) Then
.Cells(lRow, 2).Value = --ComboBox_Artikelnummer
Else
.Cells(lRow, 2).Value = ComboBox_Artikelnummer
End If
.Cells(lRow, 3).FormulaR1C1 = "=VLOOKUP(RC[-1],Datenbank!C1:C2,2,)"
.Cells(lRow, 3).Value = .Cells(lRow, 3).Value
If Not TextBox_Zugang = "" Then .Cells(lRow, 4).Value = --TextBox_Zugang
If Not TextBox_Abgang = "" Then .Cells(lRow, 5).Value = --TextBox_Abgang
.Cells(lRow, 6).Value = Application.WorksheetFunction.Substitute(TextBox_LagerID, "ß", "-")
.Cells(lRow, 7).Value = ComboBox_NamenKurz
.Cells(lRow, 8).Value = _
Application.WorksheetFunction.VLookup(ComboBox_NamenKurz, Sheet1.Range("G1:H1"). _
EntireColumn, 2, False)
End With
GoTo heaven
hell:
MsgBox ("Eintrag gescheitert, bitte prüfen und korrigieren")
Sheet2.Cells(lRow, 1).EntireRow.ClearContents
heaven:
TextBox_Abgang.Text = ""
TextBox_Zugang.Text = ""
TextBox_LagerID = ""
ComboBox_Artikelnummer.ListIndex = -1
ComboBox_NamenKurz.ListIndex = -1
ComboBox_Artikelnummer.SetFocus
End Sub

Gruß
Rudi
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge