Listbox ersten Eintrag markieren
#1
Hallo an alle.

Ich versuche nun schon mehrere Tage in einer Listbox beim UserForm öffnen den ersten Eintrag markiere.

Eigendlich funktioniert das mit: ListBox1.ListIndex = 0

Bei mir eben nicht.

Hier mal den Code
Code:
Private Sub UserForm_Initialize()

Dim Zeile As Long

Me.ListBox1.Clear

For Zeile = 2 To Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row

Me.ListBox1.AddItem Format(Tabelle1.Cells(Zeile, 1).Value, "0000")
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Tabelle1.Cells(Zeile, 2).Value
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Tabelle1.Cells(Zeile, 4).Value
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = Tabelle1.Cells(Zeile, 5).Value
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 4) = Tabelle1.Cells(Zeile, 3).Value
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 5) = Tabelle1.Cells(Zeile, 19).Value

If Tabelle1.Cells(Zeile, 24) <> "" Then
Label_Angebot.Visible = True
cbAngebot.Visible = True
Label13.Visible = True
Else
Label_Angebot.Visible = False
cbAngebot.Visible = False
Label13.Visible = False
End If


If Tabelle1.Cells(Zeile, 26) <> "" Then
Label_Lieferschein.Visible = True
cbLieferschein.Visible = True
Label14.Visible = True
Else
Label_Lieferschein.Visible = False
cbLieferschein.Visible = False
Label14.Visible = False
End If

If Tabelle1.Cells(Zeile, 25) <> "" Then
Label_Rechnung.Visible = True
cbRechnung.Visible = True
Label15.Visible = True
Else
Label_Rechnung.Visible = False
cbRechnung.Visible = False
Label15.Visible = False
End If

ListBox1.ListIndex = 0

Next Zeile

End Sub

Danke für Eure Anregungen.
Antworten Top
#2
Hi Andy,

setzt das mal hinter next Zeile.

BR, Alexandra
Antworten Top
#3
Hallo

Leider ohne Erfolg!
Antworten Top
#4
Code:
sn=Tabelle1.cells(1).currentregion
ListBox1.List=application.index(sn,0,array(2,4,5,3,19))
Listbox1.listindex=0
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#5
Hi
ist das eine Single- oder eine Multiselect-Listbox?
bei einer Multiselect-Listbox müsstest du die erste Zeile mit Listbox1.Selected(0) = True selektieren.
Gruß Daniel
Antworten Top
#6
@ snb 

Da kommt dass!

Single

ich rufe ganz normal das Makro auf

Code:
Sub schaden_suchen()

UserForm2.Show
End Sub

Starte ich im VBA die UserForm_Initialize direkt, wird der erste Eintrag markiert durch 
ListBox1.ListIndex = 0


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#7
Dann sollte Userform_Initialize im Makromodul des Userform2 stehen.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#8
UserForm_Initialize() steht im UserForm2 !
Antworten Top
#9
Hallo,

Multiselect Modus hattest du ja schon ausgeschlossen.
So wie Alexandra schrieb gehört .Listindex = 0 nicht in die Schleife.

Lösche mal die Listbox aus dem Userform raus und baue eine neue ein. Passe die Anzahl der Spalten und deren Breiten an.

Dann wird auch die 1. Zeile markiert.

Sollte dies nicht so sein und du uns nur die halbe Wahrheit zeigst musst du einfach mal schauen, was während des Durchlaufs des Initialize bzw. Activate des Userforms noch losgetreten wird.

Also per F8 und ggf. Stopmarker Step by Step.


Gruß Uwe
Antworten Top
#10
Dann muss es so bleiben.

Trotzdem vielen Dank an alle für Eure Hilfe!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste