in einer Userform habe ich zwei Comboboxen angelegt. Die Dropdownfelder sind identisch und listen Artikelnummern (von 8001 bis 8300) aus einer Zeile (6) und die Bezeichnung aus einer zweiten Zeile (51) auf:
ComboBox1.AddItem Worksheets("Basisdaten").Cells(6, i) & " " & Worksheets("Basisdaten").Cells(51, i)
Nun versuche ich, dass die Artikelnummer des gewählten Dropdownfeldes reduziert um eine feststehende Zahl in Klammern in eine ausgewählte Zelle auf meinem Tabellenblatt geschrieben wird.
Dafür habe ich einen Code gestrickt, der fast immer funktioniert:
Private Sub CommandButton1_Click()
Dim frm As UserForm
Dim index As Long
Dim curSheet As Worksheet
Set curSheet = Worksheets(ActiveSheet.Name)
Set frm = Optimierungsfilialen
index = frm.ComboBoxOE1.ListIndex And frm.ComboBoxOE2.ListIndex
Application.ScreenUpdating = False
Sheets("Basisdaten").Activate
Rows("6:6").Select
Selection.Find(What:=index, After:=ActiveCell, LookIn:=xlValues _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
Worksheets("Basisdaten").Cells(8, ComboBoxOE1.ListIndex + 3).Select
Selection = "'(" & Worksheets("Basisdaten").Cells(6, ComboBoxOE1.ListIndex + 3) - 8000 _
& "," & Worksheets("Basisdaten").Cells(6, ComboBoxOE2.ListIndex + 3) - 8000 & ")"
curSheet.Select
Application.ScreenUpdating = True
End Sub
Nur bei bestimmten Kombinationen, scheinbar bei Kombination größerer Zahlen, gibt es eine Fehlermeldung Laufzeitfehler91 Objektvariable oder With-Blockvariable nicht festgelegt. Woran mag dieser nicht immer auftretende Fehler liegen?Gruß
Karl-Heinz