AW: MsgBox erscheint in jedem Fall
09.05.2008 10:26:36
Erich
Hallo Josef,
vieles an deinem Code kann ich nicht so recht nachvollziehen.
Beim Namen der Routine hatte ich mich vertan: Sie heißt nicht "Jürgen", sondern "Josef".
Was ich dazu gesagt habe, stimmt aber weiterhin...
Die Zeile
ListBox4.AddItem ComboBox2
kann syntaktisch richtig sein, aber ist "ComboBox2" da irgendwie sinnvoll?
Was soll das neue Item beinhalten? In der nächsten Zeile belegst du es mit einem Wert:
ListBox4.List(ListBox4.ListCount - 1) = rng1
Hier hat "ComboBox2" wohl wirklich nichts zu suchen.
Versuchs mal (ganz ohne "Josef") damit:
Private Sub UserForm_Initialize()
Dim bereich As Range
Dim rng As Range
With Worksheets("Tabelle1")
.Activate ' ist das nötig?
ListBox4.Visible = True
ListBox4.Clear
ComboBox2.Clear
Set bereich = .Range(.Cells(2, 8), .Cells(.Cells(.Rows.Count).End(xlUp).Row), 8)
For Each rng In bereich
If rng.Offset(0, 25) = "" Then
ListBox4.AddItem rng
ComboBox2.AddItem rng
End If
Next rng
ListBox4.ListIndex = 0
End With
End Sub
Und die UF kannst du - bedingt - so aufrufen:
Sub Start_CODE_SFLB()
With Worksheets("Tabelle1")
If WorksheetFunction.CountA( _
.Range(.Cells(2, 8), .Cells(.Cells(.Rows.Count).End(xlUp).Row), 8)) > 0 Then
UserForm8.Show
Else
MsgBox "Keine Subkapitelnummern zum Verarbeiten vorhanden."
End If
End Sub
Das ist natürlich ungetestet - ich habe deine Umgebung nicht nachgebaut.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort