Hallo! ALso hier mal eine Variante. Der Fehler tritt übrigens auf, weil du in der Userform.initialize das .show nutzt. Nutzte show in dem Button / COde, bei dem du die Userform aufrufst. Und den Zugriff würde ich ohne goto machen sondern so wie unten. Schau es mal an. VG
Private Sub UserForm_Initialize()
For Each f In ThisWorkbook.Worksheets("Report").[Fehler]
'Definierter Bereich mit Namen
If ThisWorkbook.Worksheets("Report").UsedRange.Cells(f.Row, f.Column).Value = "#Fehler#" Or ThisWorkbook.Worksheets("Report").UsedRange.Cells(f.Row, f.Column).Value = "Nichts gefunden" Then
With UserForm2.ListBox1
.ColumnCount = 6
.ColumnHeads = False
.AddItem
.List(.ListCount - 1, 0) = f.Offset(0, -10).Value
'nummer
.List(.ListCount - 1, 1) = f.Address
.List(.ListCount - 1, 2) = f.Offset(0, -2).Value
'Summe
.List(.ListCount - 1, 3) = f.Offset(0, 0).Value
'WERT der Zelle -- FEHLER oder nichtsgefunden
.List(.ListCount - 1, 4) = f.Offset(0, -5).Value
'nummer2
.List(.ListCount - 1, 5) = f.Offset(0, -8).Value
'partner
.ColumnWidths = "4cm;3cm;1cm;2,5cm;3cm;2cm"
'.ColumnWidths = "3.5cm;2.5cm;1cm;2.5cm;3cm;2cm"
End With
Else
End If
Next f
End Sub
Private Sub ListBox1_Click()
'Bei Klick auf einen Treffer soll diese Zelle in der Tabelle ausgewählt werden
'Application.Goto Reference:=Sheets("SSB Report").Range("M" & ListBox1.List(ListBox1.ListCount))
If IsNull(ListBox1.Value) Then
MsgBox "Sie haben nichts ausgewählt!"
Exit Sub
Else
ThisWorkbook.Worksheets("Report").Range(ListBox1.List(ListBox1.ListIndex, 1)).Select
End If
Unload UserForm2
End Sub
|