Hallo Zusammen,
ich baue mir grade für die Arbeit einen Bestellschein. Mit einem Button kann ich eine UserForm öffnen in der ich mit ComboBoxen die Firmen, Gebäude etc anwählen kann. Diese Daten werden dann ausgelesen und in des Bestellschein eingetragen. Unter anderem brauche ich auch Verweise für Produktnummern etc.
Dies habe ich mit VLookup gelöst. Funktioniert auch überall außer bei den Ansprechpartnern. Da funktionieren nur die ersten beiden Namen. Alle weiteren Namen erzeugen ein Laufzeitfehler 1004.
Der Fehler wird angezeigt bei dem Code:
HaN = WorksheetFunction.VLookup(HA, ThisWorkbook.Worksheets("Mitarbeiter").Range("A2:B20"), 2)
Ich bin übrigens anfänger mit Programmieren.
Hier der Code aus der UserForm.
Danke!!
Option Explicit
Sub Button_OK_Click()
Dim LG As String
Dim GKZ As String
Dim HJ As String
Dim PrPsk As String
Dim TB As String
Dim BNr As String
Dim UZ As String
Dim HA As String
Dim HaN As String
Dim LF As String
Dim LFN As String
Dim LFA As String
Dim LFO As String
Dim LFFax As String
Dim LFMail As String
LG = Liste_Geb
GKZ = Text_Gkz
HJ = Text_Hj
PrPsk = WorksheetFunction.VLookup(LG, ThisWorkbook.Worksheets("Gebaeude").Range("A2:C100"), 3)
TB = TextBox
BNr = Text_Bestell
UZ = Liste_Unterzeichner
HA = Liste_Ansprech
HaN = WorksheetFunction.VLookup(HA, ThisWorkbook.Worksheets("Mitarbeiter").Range("A2:B20"), 2)
LF = Liste_Firma
LFN = WorksheetFunction.VLookup(LF, ThisWorkbook.Worksheets("Firmenliste").Range("A2:L200"), 2)
LFA = WorksheetFunction.VLookup(LF, ThisWorkbook.Worksheets("Firmenliste").Range("A2:L200"), 3)
LFO = WorksheetFunction.VLookup(LF, ThisWorkbook.Worksheets("Firmenliste").Range("A2:L200"), 10)
LFFax = WorksheetFunction.VLookup(LF, ThisWorkbook.Worksheets("Firmenliste").Range("A2:L200"), 6)
LFMail = WorksheetFunction.VLookup(LF, ThisWorkbook.Worksheets("Firmenliste").Range("A2:L200"), 8)
ThisWorkbook.Worksheets("Bestellschein").Range("B24") = GKZ
ThisWorkbook.Worksheets("Bestellschein").Range("C24") = HJ
ThisWorkbook.Worksheets("Bestellschein").Range("D24") = PrPsk
ThisWorkbook.Worksheets("Bestellschein").Range("B26") = LG
ThisWorkbook.Worksheets("Bestellschein").Range("B27") = TB
ThisWorkbook.Worksheets("Bestellschein").Range("F21") = BNr
ThisWorkbook.Worksheets("Bestellschein").Range("B51") = UZ
ThisWorkbook.Worksheets("Bestellschein").Range("B41") = "Ansprechpartner: " & HA & " " & HaN
ThisWorkbook.Worksheets("Bestellschein").Range("B7") = LFN
ThisWorkbook.Worksheets("Bestellschein").Range("B8") = LFA
ThisWorkbook.Worksheets("Bestellschein").Range("B9") = LFO
If Option_Fax.Value = True Then ThisWorkbook.Worksheets("Bestellschein").Range("B11") = "Per FAX: " & LFFax
If Option_Mail.Value = True Then ThisWorkbook.Worksheets("Bestellschein").Range("B11") = "Per MAIL: " & LFMail
End Sub
Sub UserForm_Initialize()
Liste_Firma.RowSource = "Firmenliste!A2:A100"
Liste_Geb.RowSource = "Gebaeude!A2:A100"
Liste_Unterzeichner.RowSource = "Mitarbeiter!D2:D20"
Liste_Ansprech.RowSource = "Mitarbeiter!A2:A20"
End Sub
Und hier aus dem Bestellschein:
Private Sub ButtonNeu_Click()
Dim PP
Sheets("Bestellschein").Range("F21:N21,B7:I14,D24:H24,F21:N21,C24,B26:L27,B30:M39,B41:L45,B51:E51,B24,I24:L24").ClearContents
Sheets("Bestellschein").Range("M12").Value = Date
'Sheets("Bestellschein").Range("D24") =
UserForm1.Show
End Sub
|