AW: Listboxeintrag in Textboxen anzeigen
18.06.2023 13:40:16
Maurice
Hallo Onur, ja du hast vielleicht Recht...... aber es gibt halt auch Anfänger...
das ist mein Code.. wahrscheinlich für euch Profis eine Katastrophe.. aber jeder fängt mal klein an.. :-)
Private Sub Verpackungsanweisung_Change()
If Verpackungsanweisung.Text > "" Then Shapes("Artikelnummerhinzufuegen").Visible = True
If Verpackungsanweisung.Text = "" Then Shapes("Artikelnummerhinzufuegen").Visible = False
End Sub
Private Sub KLTEbene1_Change()
If KLTEbene1.Text = "KL 01" Then Shapes("Datenbearbeiten").Visible = True
If KLTEbene1.Text = "KL 02" Then Shapes("Datenbearbeiten").Visible = True
If KLTEbene1.Text = "KL 03" Then Shapes("Datenbearbeiten").Visible = True
If KLTEbene1.Text = "KL 04" Then Shapes("Datenbearbeiten").Visible = True
If KLTEbene1.Text = "KL 05" Then Shapes("Datenbearbeiten").Visible = True
If KLTEbene1.Text = "KL 06" Then Shapes("Datenbearbeiten").Visible = True
If KLTEbene1.Text = "KL 09" Then Shapes("Datenbearbeiten").Visible = True
If KLTEbene1.Text = "" Then Shapes("Datenbearbeiten").Visible = False
End Sub
Private Sub Worksheet_Activate()
TextBox4 = ""
Artikelnummer = ""
Materialkurzbezeichnung = ""
Verpackungsanweisung = ""
Zusatzinformationen = ""
KLTEbene1 = ""
KLTEbene2 = ""
Sonderbehaelter = ""
Shapes("Datenbearbeiten").Visible = False
Shapes("Artikelnummerhinzufuegen").Visible = False
Call Listbox1fuellen
End Sub
Private Sub Listbox1fuellen()
With Sheets("DB")
ListBox1.List = .Range(.Cells(2, 1), .Cells(.Rows.Count, 4).End(xlUp)).Resize(, 7).Value
ListBox1.ListIndex = -1
End With
End Sub
Private Sub TextBox4_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
On Error Resume Next
If KeyCode = 13 Then
Dim i As Integer, ii As Integer
Dim vntList, strTxt As String, arrSelected()
strTxt = LCase(TextBox4)
vntList = ListBox1.List
ReDim arrSelected(ListBox1.ListCount - 1)
For i = 0 To ListBox1.ListCount - 1
For ii = 0 To ListBox1.ColumnCount - 1
arrSelected(i) = InStr(LCase(vntList(i, ii)), strTxt) > 0
If arrSelected(i) Then Exit For
Next
Next
With ListBox1
If TextBox4.Text > ListBox1.List(ListBox1.ListIndex, 0) Then Artikelnummer.Text = "kein Eintrag!"
If TextBox4.Value Like ListBox1.List(ListBox1.ListIndex, 0) Then Artikelnummer.Text = "Eintrag vorhanden"
For i = 0 To .ListCount - 1
.Selected(i) = arrSelected(i)
.TopIndex = .ListIndex
Next
End With
End If
End Sub
Sub Artikelnummerhinzufuegen_click()
If MsgBox("Sollen die Daten hinzugefügt werden", vbYesNo, "Neuer Eintrag") = vbNo Then Exit Sub
Dim last As Integer
With Worksheets("DB")
last = Worksheets("DB").Cells(Rows.Count, 1).End(xlUp).Row + 1
Worksheets("DB").Cells(last, 1).Value = (Artikelnummer.Value)
Worksheets("DB").Cells(last, 2).Value = (Materialkurzbezeichnung.Value)
Worksheets("DB").Cells(last, 3).Value = (Verpackungsanweisung.Value)
Worksheets("DB").Cells(last, 4).Value = (Zusatzinformationen.Value)
Worksheets("DB").Cells(last, 5).Value = (KLTEbene1.Value)
Worksheets("DB").Cells(last, 6).Value = (KLTEbene2.Value)
Worksheets("DB").Cells(last, 7).Value = (Sonderbehaelter.Value)
MsgBox "Artikelnummer wurde in der Datenbank zugefügt"
End With
Call Listbox1fuellen
End Sub
und bei dem Textbox4 keydown Event hätte ich es gerne das dann die makeierte Zeile aus der Listbox in Textboxen angezeigt wird, oder wenn kein Eintrag markiert wird, alle Textboxen geleert werden.
lg Micha