Aktuell kann es Probleme bei der Anmeldung mit dem Chrome oder Edge Browser geben. Ihr müsstet in die Einstellungen des Browsers gehen und Cache, Cookies und sofern vorhanden, gespeicherte Passwörter vom CEF löschen oder alternativ auf einen anderen Browser ausweichen. Ursache sind vermutlich kürzliche Browserupdates. x

ComboBox mit Teil einer Liste füllen
#21
Hallo Ralf,

für die Initialisierung würde ich das so machen

Code:
Private Sub UserForm_Initialize()
  Dim loLetzte As Long
  Dim objWs As Worksheet
  Dim intZ As Integer
 
  Set objWs = ThisWorkbook.Worksheets("Datenbankliste")
  '   loLetzte = objWs.Cells(Rows.Count, 9).End(xlUp).Row                     ' letzte belegte in Spalte I (9)
  '   With ComboBox1
  '      .List = objWs.Range("I2:I" & loLetzte).Value
  '      For i = .ListCount - 1 To 0 Step -1
  '         If Left(.List(i), 1) <> "A" Then .RemoveItem i
  '      Next i
  '   End With
 
    With UserForm1
   .ComboBox1.ColumnCount = 2                                         'Spaltenanzahl der Combobox
   .ComboBox1.ColumnWidths = "25;25"                                  'Spaltenbreite der Combobox "25;0" weißt der 2. Spalte die Länge 0 zu
   
      intZ = 0                                                                     'zum Festlegen der Zeile beim Befüllen der Combobox
      For i = 2 To objWs.Cells(2, 9).End(xlDown).Row
        If Left(objWs.Cells(i, 9), 1) = "A" Then
          .ComboBox1.AddItem objWs.Cells(i, 9)
          .ComboBox1.Column(1, intZ) = objWs.Cells(i, 9).Row            
          intZ = intZ + 1                                                        'Zeilenzähler erhöhen
        End If
      Next i
   End With

End Sub


Um nachher die Auswahl in der Combox zu ermitteln würde ich folgendes Konstrukt wählen:

Code:
Private Sub ComboBox1_Change()
Dim z As Integer
Dim strKFZKennz As String

With UserForm1
  z = .ComboBox1.ListIndex
  strKFZKennz = .ComboBox1.Column(1, z)
  MsgBox (strKFZKennz)
End With

End Sub

Das Klick-Event verwende ich in der Regel bei Listboxen. Ich habe es hier mit dem Change-Ereignis getestet und realisiert.

Warum das mit der Match-Funktion nicht klappt, bin ich überfragt. Ungetestet vielleicht so?

Code:
Zeile = WorksheetFunction.Match("ComboBox1.Text", Columns(9), 0)  

Gruß
Ich
[-] Folgende(r) 1 Nutzer sagt Danke an IchBinIch für diesen Beitrag:
  • Rabe
Top
#22
(04.08.2016, 10:17)Rabe schrieb: ...

Warum wird das msgbox (strKFZKennz) vom Editor nicht automatisch so umgewandelt: MsgBox (...)?

Das hatte ich überlesen...

strKFZKennz = objWs.Cells(Zeile, 1).value


Achso und so bei Dir eingebettet:
Code:
Private Sub ComboBox1_Click()              ' Übernehmen
   Dim objWs As Worksheet
   Set objWs = ThisWorkbook.Worksheets("Datenbankliste")
   Dim z As Integer
   
   boAbbruch = False
   With UserForm1
   If ComboBox1.ListIndex >= 0 Then
      z = .ComboBox1.ListIndex
      Zeile = .ComboBox1.Column(1, z)
      
      strKFZKennz = objWs.Cells(Zeile, 1).Value
      MsgBox (strKFZKennz)

...

Ich hab's jetzt mehrfach getestet. Mit der Match-Funktion kriege ich es nicht hin.
Den restlichen Code von Dir kann ich leider nicht testen :32:
[-] Folgende(r) 1 Nutzer sagt Danke an IchBinIch für diesen Beitrag:
  • Rabe
Top
#23
Hi,

Klasse, danke!

(04.08.2016, 22:22)IchBinIch schrieb: Ich hab's jetzt mehrfach getestet. Mit der Match-Funktion kriege ich es nicht hin.
Den restlichen Code von Dir kann ich leider nicht testen :32:

Wenn es so funktioniert, dann brauche ich das Match ja auch nicht.
Nun mache ich mich ans weitertesten.
Top


Gehe zu:


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