Ich möchte in Excel eine Userform mit bestimmten Captions von labeln starten ->Es funktioniert nicht
Ich habe schon folgendes Skript geschieben, dennoch wird die Variable leider nicht richtig aktzeptiert. Ich finde meinen Fehler leider nicht, kann mir jemand helfen ?
Private Sub CommandButton3_Click()
UserForm1.Hide
Dim Eintragung_erfolgt As Boolean
Dim Zeile As Integer
Eintragung_erfolgt = False
Zeile = 2
Do While Eintragung_erfolgt = False
If Tabelle1.Cells(Zeile, 1) = "" Then
UserForm4.Label9.Caption = "a"
UserForm4.Label10.Caption = Tabelle1.Cells(9, 2)
UserForm4.Label11.Caption = Tabelle1.Cells(Zeile, 3)
UserForm4.Label12.Caption = Tabelle1.Cells(Zeile, 4).Value
UserForm4.Label13.Caption = Tabelle1.Cells(Zeile, 5).Value
UserForm4.Label14.Caption = Tabelle1.Cells(Zeile, 6).Value
UserForm4.Label15.Caption = Tabelle1.Cells(Zeile, 7).Value
UserForm4.Label8.Caption = Zeile
Zeile = Zeile - 1
Zeile = Zeile - 1
Eintragung_erfolgt = True
Else
Zeile = Zeile + 1
End If
Loop
UserForm4.Show
End Sub
Die folgenden Captions werden nicht übernommen :
UserForm4.Label11.Caption = Tabelle1.Cells(Zeile, 3)
UserForm4.Label12.Caption = Tabelle1.Cells(Zeile, 4).Value
UserForm4.Label13.Caption = Tabelle1.Cells(Zeile, 5).Value
UserForm4.Label14.Caption = Tabelle1.Cells(Zeile, 6).Value
UserForm4.Label15.Caption = Tabelle1.Cells(Zeile, 7).Value
4 Antworten
Gehe Deinen Code in der IDE doch mal Step by Step mit F8 durch.
Dann müsstest Du doch auf Anhieb sehen, warum die Label nicht befüllt werden.
Oder WAS siehst Du sonst?
Ich habe Deinen Code mal auf einem einzigen Userform ausprobiert, ohne das Hide und Show.
Bei mir funzt es. es trägt immer die Werte der zweiten Zeile ein (weil Zeile =2 sich nicht ändert)
Liegt es bie Dir vllt. daran, dass Du das ausführende Userform erst Hide stellst und dann den Code ausführen lässt?
Auch ist mir nicht klar geworden was das Do While und das If Then Else jeweils abfangen oder erlauben sollen.
........
Tipp:
Gewöhn Dir an, die Elemente Deines Codes umzubenennen, damit man besser lesen kann , was da abläuft:
CommandButton3 sagt gar nix. cmd-Labels-Eintragen schon
Label10 ist ebenfalls nixsagend. lbl-Spaltenueberschrift1 oder lbl-zu-txt-Eingabe-Name (hier gehört das lbl zu einem Textfeld "txt-Eingabe-Name")
Achtung: die Bindestriche sind bei mir Unterstriche. Diese werden hier im Editor nicht dargestellt. Bindestriche nicht verwenden, werden im Zweifel als Minus interpretiert!
die unterstriche _ mit \ escapen. Also: \_ (das letzte mit \\_ dargestellt)
Max.
@Max: wieder was gelernt! ich hab den _
immer mit je 2 Gravis eingerahmt (ebenso wie den *
), aber mit dem Backslash \ Schwierigkeiten gehabt! ich teste hier nochmal das Einrahmen mit je 2 Gravis: \
, vllt hab ich ja früher Fehler gemacht: Scheint -zumindest in der Textvorschau- beides zu funktionieren! Und die Kombination von # mit **
hier beherrsche ich auch
noch nicht! (oder jetzt doch? vllt, die Vorschau zeigt was anderes): #**
Text**
Versuch mal am Ende Deines Codes ein UserForm4.Repaint
UserForm4.Label11.Caption = Tabelle1.Cells(Zeile, 3) fehlt dahinter nicht ein .Value?

Das stimmt zwar, aber das .Value ist nicht unbedingt nötig - wenn auch sauberer programmiert - um den Wert der Zelle auszugeben.
Das sollte also hier nicht das Problem sein.