Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
796to800
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
796to800
796to800
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Userform - Gültigkeit der Eingabe abfragen

Userform - Gültigkeit der Eingabe abfragen
29.08.2006 10:46:44
Rupert
Hallo Forum,
Ich hab da noch ein kleines problem mit Userform.
Ich hab soweit alles fertig, das mir die Userform die Daten ins Excel übergibt, jetzt möchte jedoch mein Cheffe noch das ich eine Prüfung einbaue ob die Artikelnummer in der Textbox 1 mit dem Tabellenblatt artikelstammdaten spalte B übereinstimmt, wenn sie übereinstimmt soll das vorhandenen makro ablaufen und die daten eintragen, wenn nicht, dann soll das die eingabe wieder auf die Textbox 1 zurückspringen und eine neueingabe ermöglichen (möglichst mit einer Msgbox)
Ich weiss das es mit einer If anweisung zu machen ist nur wie bekomme ich die Range von dem blatt und die die Find anweisung um die werte von TB1 auszugeben.
Vielleicht, sogar sicher hat jemand von euch eine Idee
danke schon mal
Rupert

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

Betreff
Datum
Anwender
Anzeige
AW: Userform - Gültigkeit der Eingabe abfragen
29.08.2006 10:50:27
Matthias
Hallo Rupert,
so in der Art:

Private Sub CommandButton1_Click()
Dim z As Range
Set z = Sheets("Tabelle1").Range("B:B").Find(What:=TextBox1, LookAt:=xlWhole)
If z Is Nothing Then
MsgBox "nicht gefunden"
Else
MsgBox "'" & TextBox1 & "' steht in Zeile " & z.Row
End If
End Sub

Gruß Matthias
AW: Userform - Gültigkeit der Eingabe abfragen
29.08.2006 11:06:51
Rupert
Hallo Matthias,
Funktioniert mal soweit gut, jedoch soll nachdem ich den OK-Button des MS-box klicke, das userform wieder da sein, es werden aber die werte eingetragen.
Ich hab mal den code genommen, leicht abgeändert von dir da ich die zweite Msg-Box nicht wirklich brauche
Dim z As Range
Set z = Sheets("Artikel_Stammdaten").Range("B:B").Find(What:=TextBox1, LookAt:=xlWhole)
If z Is Nothing Then
MsgBox "Wrong Articlenumber inputed try again"
End If
Nachdem die Msgbox kommt, werden die daten eingetragen und nicht wie gewollt die eingabe nochmals versucht.
vielleicht hast du noch eine idee
danke
Anzeige
AW: Userform - Gültigkeit der Eingabe abfragen
29.08.2006 11:16:27
Matthias
Hallo Rupert,
Wenn die Userform "noch da" sein soll, musst du den Befehl Unload Me, der die UF schließt, vermeiden.
Falls du es nicht hinkriegst, poste mal den gesamten Code (oder zumindest den relevanten).
Gruß Matthias
AW: Userform - Gültigkeit der Eingabe abfragen
29.08.2006 11:33:48
Rupert
Ok der code, schon mit deinem find eingebaut

Private Sub CommandButton1_Click()
Dim letzteZeile As Long
Dim z As Range
Set z = Sheets("Artikel_Stammdaten").Range("B:B").Find(What:=TextBox1, LookAt:=xlWhole)
If z Is Nothing Then
MsgBox "Wrong Articlenumber inputed try again"
End If
With ThisWorkbook.Sheets("DATENBANK")
letzteZeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
If ComboBox1.Value = "NEW-1" Then
.Unprotect
.Cells(letzteZeile, 1) = TextBox1.Value
.Cells(letzteZeile, 3) = ComboBox1.Value
.Cells(letzteZeile, 4) = Format(TextBox3, ">")
.Cells(letzteZeile, 5) = TextBox4.Value
.Cells(letzteZeile, 6) = TextBox5.Value
Range("B2").AutoFill Destination:=Range("B2:B" & Cells(Rows.Count, 1).End(xlUp).Row)
Range("G2").AutoFill Destination:=Range("G2:G" & Cells(Rows.Count, 1).End(xlUp).Row)
.Protect
ActiveWorkbook.RefreshAll
TextBox1 = " "
TextBox3 = " "
TextBox5 = " "
ComboBox1.ListIndex = -1
TextBox6 = " "
ComboBox2.ListIndex = -1
Else
.Unprotect
.Cells(letzteZeile, 1) = TextBox1.Value
.Cells(letzteZeile, 3) = ComboBox2.Value
.Cells(letzteZeile, 4) = Format(TextBox6, ">")
.Cells(letzteZeile, 5) = TextBox4.Value
.Cells(letzteZeile, 6) = TextBox5.Value
Range("B2").AutoFill Destination:=Range("B2:B" & Cells(Rows.Count, 1).End(xlUp).Row)
Range("G2").AutoFill Destination:=Range("G2:G" & Cells(Rows.Count, 1).End(xlUp).Row)
.Protect
ActiveWorkbook.RefreshAll
End If
End With
TextBox1 = " "
TextBox3 = " "
TextBox5 = " "
ComboBox1.ListIndex = -1
TextBox6 = " "
ComboBox2.ListIndex = -1
End Sub

wie gesagt, das problem ist wenn jetzt die artikelnummer nicht stimmt, zeigt er mir die Msg-Box, jedoch beim blicken auf ok, übergibt er die daten an das Excelsheet.
Eine Feinheit wäre noch, wenn in der combobox 1 das new-1 steht das dann combobox 2 und textbox6 gesperrt werden für die eingabe, ist dann aber nur mehr feinheit.
ich werde aber weiterversuchen, vielleicht wenn du zeit hast, kannst du dir das bitte ansehen.
danke
rupert
Anzeige
AW: Userform - Gültigkeit der Eingabe abfragen
29.08.2006 11:40:43
Matthias
Hallo Rupert,

If z Is Nothing Then
MsgBox "Wrong Articlenumber inputted try again"
With Me.TextBox1
.SelStart = 0
.SelLength = Len(Me.TextBox1)
.SetFocus
End With
Exit Sub
End If

Gruß Matthias
AW: Userform - Gültigkeit der Eingabe abfragen
29.08.2006 12:07:16
Rupert
Hallo Matthias,
Wunderbar, das funktioniert super, ich hoffe dir nicht zuviele umstände gemacht zu haben.
Ich bin absolut begeistert.
Super, diese funktionen hab ich noch nicht gekannt, werde sie mir aber jetzt aneignen.
Vielen Dank
Rupert
AW: Userform - Gültigkeit der Eingabe abfragen
29.08.2006 14:34:16
@Matthias
Hallo Mathias,
Es stellen sich noch kleine fragen
combobox1 & Textbox3 & Textbox5 müssen immer befüllt sein
combobox 2 & Textbox6 müssen nur dann befüllt werden wenn combobox1 nicht "NEW-1" enthält.
wie kann ich das denn lösen.
ich hab es so versucht
If ComboBox1.Value "NEW-1" Then
MsgBox "Please fill in Symbol 2"
With Me.ComboBox2
.SetFocus
End With
Exit Sub
End If
If ComboBox1.Value "NEW-1" Then
MsgBox "Please fill in Location2"
With Me.TextBox6
.SetFocus
End With
Exit Sub
End If
funktioniert aber nicht ganz, kannst du mir vielleicht noch mal hilfestellung geben?
auch wenn combobox1 nicht auf new steht schreib er mir die message hin.
danke
rupert
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige