Daten in Userform mit Abhänigkeit
Hallo zusammen
Habe mir eine Eingabemaske heruntergeladen und für meine Zwecke umgebaut so weit ich es konnte.Mir befüllte es Listbox mit der Bezeichnung "Bezeichnung" mit Daten aus der Tabelle "Material" aber ich bekomme es nicht gebacken das es mir Listbox mit der Bezeichnung "Artikelname" füllt.Und wenn sich einer bemüht könnte er vieleicht auch schauen ob es mir die TextBoxen mit der Bezeichnung "Behältnis""Preis""Nr."füllt wenn in Artikelname was steht
Private Sub CommandButton2_Click()
Preis = ""
Nr = ""
MaterialMenge = ""
Behältnis = ""
End Sub
Private Sub Daten_übernehmen_Click()
Dim Zeile As Long
'Schleife und Abfrage zum Prüfen ob Datensatz in Tabellenblatt bereits vorhanden
For Wiederholungen_Eintrag = 2 To Range("B65536").End(xlUp).Row
If Bezeichnung.Text = Cells(Wiederholungen_Eintrag, 2) _
And Artikelname.Text = Cells(Wiederholungen_Eintrag, 1) Then
Eintrag_vorhanden = 1
Zeile_Eintrag = Wiederholungen_Eintrag
End If
Next
'Wenn Eintrag bereits vorhanden, die Daten in der entsprechenden Zeile abändern
If Eintrag_vorhanden = 1 Then
Sheets("Nachkalkulation").Cells(Zeile_Eintrag, 2) = Artikelname
Sheets("Nachkalkulation").Cells(Zeile_Eintrag, 5) = Behältnis
Sheets("Nachkalkulation").Cells(Zeile_Eintrag, 6) = Preis
Sheets("Nachkalkulation").Cells(Zeile_Eintrag, 1) = Nr
Sheets("Nachkalkulation").Cells(Zeile_Eintrag, 4) = MaterialMenge
SendKeys "{TAB}"
'ansonsten Daten in erste leere Zeile eintragen
Else
Zeile_Blatt_1 = Sheets("Nachkalkulation").Range("A65536").End(xlUp).Offset(1, 2).Row
Sheets("Nachkalkulation").Cells(Zeile_Blatt_1, 2) = Artikelname
Sheets("Nachkalkulation").Cells(Zeile_Blatt_1, 5) = Behältnis
Sheets("Nachkalkulation").Cells(Zeile_Blatt_1, 6) = Preis
Sheets("Nachkalkulation").Cells(Zeile_Blatt_1, 1) = Nr
Sheets("Nachkalkulation").Cells(Zeile_Blatt_1, 4) = MaterialMenge
SendKeys "{TAB}"
End If
'Kombinationsfelder "Artikelname" und "Bezeichnung" leeren
Bezeichnung.Clear
Artikelname.Clear
'Schleife und Abfrage zum erneuten Füllen der ComboBox "Bezeichnung"
For Wiederholungen = 2 To Sheets("Material2").Range("A65536").End(xlUp).Row
If WorksheetFunction.CountIf(Worksheets("Material2"). _
Range("B2:B" & Wiederholungen), Worksheets("Material2"). _
Cells(Wiederholungen, 2)) = 1 Then _
Bezeichnung.AddItem Worksheets("Material2").Cells(Wiederholungen, 2)
Next
End Sub
Private Sub Eingabe_beenden_Click()
Unload Me
End Sub
Private Sub Bezeichnung_Change()
Artikelname.Clear
'Schleife und If Abfrage zum Finden von passenden Artikelname zu dem ausgewähleten Bezeichnung
For Wiederholungen = 2 To Sheets("Material2").Range("B65536").End(xlUp).Row
If Bezeichnung.Text = Sheets("Material2").Cells(Wiederholungen, 2) Then
'gefundene Artikelname in Spalte IV auflisten
Cells(Range("IV65536").End(xlUp).Offset(1, 0).Row, 256) = Cells(Wiederholungen, 1)
End If
Next
'Schleife und If Abfrage zum Füllen der ComboBox "Artikelname"
For Wiederholungen = 2 To Range("IV65536").End(xlUp).Row
Artikelname.AddItem Sheets("Material2").Cells(Wiederholungen, 256)
Next
'Aufgelistete Artikelname löschen
Range("IV:IV").ClearContents
End Sub
Private Sub Preis_Change()
Preis = Format(Preis, "#,##0.00 €")
End Sub
Private Sub TextBox1_Change()
End Sub
Private Sub UserForm_Initialize()
MsgBox "Bitte zuerst den Bezeichnung und danach den Artikelname wählen, damit Datensätze angezeigt werden können."
'Schleife zum Füllen der ComboBox "Bezeichnung" ohne Duplikate
For Wiederholungen = 2 To Sheets("Material2").Range("A65536").End(xlUp).Row
If WorksheetFunction.CountIf(Worksheets("Material2"). _
Range("B2:B" & Wiederholungen), Worksheets("Material2"). _
Cells(Wiederholungen, 2)) = 1 Then _
Bezeichnung.AddItem Worksheets("Material2").Cells(Wiederholungen, 2)
Next
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
'Fehlermeldung, wenn versucht wird, die UserForm über das rote
'Schließenkreuz oben rechts zu schließen
If CloseMode = 0 Then
Cancel = 1
MsgBox "Bitte verlassen Sie das Dialogfeld mit den Schaltflächen.", _
vbOKOnly + vbInformation, "Bitte Schaltfläche betätigen."
End If
End Sub
Private Sub Artikelname_Change()
'Schleife und If Abfrage zum Füllen der restlichen Textfelder
For Wiederholungen_Artikelname = 2 To Range("B65536").End(xlUp).Row
If Bezeichnung.Text = Cells(Wiederholungen_Artikelname, 2) _
And Artikelname.Text = Cells(Wiederholungen_Artikelname, 1) Then
Behältnis = Cells(Wiederholungen_Artikelname, 3)
Preis = Cells(Wiederholungen_Artikelname, 4)
Nr = Cells(Wiederholungen_Artikelname, 7)
End If
Next
End Sub
Vielen Dank im voraus für eure Hilfe
Helmut
Antwort schreiben
Antwort 1 von gast22 vom 22.02.2020, 18:21 Options
Hi Helmut,
Deine voluminös gepostete Frage ist aus dem Konsenz gerissen - und somit ziemlich unbrauchbar - entweder Du stellst die komplette Mappe zur Verfügung,(z.B. bei www.Netupload.de - oder es wird NIX.:-)
Antwort 2 von Helmut46 vom 22.02.2020, 18:33 Options
Hallo,
www.Netupload.de gibt es nichtmehr. Man kann nur noch Bilder laden. Gibt es noch eine andere Möglichkeit meine Mappe irgendwo hochzuladen?
Danke
Helmut
Antwort 3 von finger59 vom 22.02.2020, 19:23 Options
Hallo,
zur Zeit findet man viele Dateien hier abgelegt:
http://www.upload.npcfighter.de/Leider kann ich zur Anfrage selbst nichts weiter
beitragen. Sorry...
Have a nice Day... Gruß Helmut
Antwort 4 von Helmut46 vom 22.02.2020, 19:31 Options
Hallo,
habe meine Arbeitsmappe unter
http://www.upload.npcfighter.de/files/36/9111/Nachkal..XLS
hinterlegt.
Danke für eure Hilfe
Helmut
Antwort 5 von Helmut46 vom 22.02.2020, 20:43 Options
Anbei wollt ich noch sagen dass die Userform Material1 alt ist und ich sie nichtmehr brauche
Helmut