Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1140to1144
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Combobox auswählen

Combobox auswählen
ing.grohn
Hallo Forum,
ich hab mir einer Userform eine Combox gemacht, mit der ich Adressen selektieren kann (Namen sind mehrfach vorhanden). Funktioniert gut:
Private Sub UserForm_Initialize()
Dim Zeile As String
Dim Laenge As Integer
Dim Posi As Integer
Dim firstAddress As String
Dim Text As String
Dim c As Object
'Worksheets("adrdat.xls").Activate
Sheets("Adressen").Select
With Sheets("Adressen").Range("A:F")
Set c = .Find(What:="amtsgericht", LookIn:=xlValues)
If Not c Is Nothing Then
Zeile = c.Address
Posi = InStr(2, Zeile, "$")
Laenge = Len(Zeile)
Zeile = Right(Zeile, Laenge - Posi)
'Range("B" + Zeile).Select
Me.ComboBox1.Value = Range("B" + Zeile).Value & ", " & _
Range("C" + Zeile).Value & ", " & _
Range("D" + Zeile).Value & ", " & _
Range("E" + Zeile).Value & ", " & _
Range("F" + Zeile).Value & ", " & _
c.Address
firstAddress = c.Address
Do
Zeile = c.Address
Posi = InStr(2, Zeile, "$")
Laenge = Len(Zeile)
Zeile = Right(Zeile, Laenge - Posi)
Range("B" + Zeile).Select
'MsgBox (.Range("B" + Zeile).Address & Zeile)
Me.ComboBox1.AddItem _
Range("B" + Zeile).Value & ", " & _
Range("C" + Zeile).Value & ", " & _
Range("D" + Zeile).Value & ", " & _
Range("E" + Zeile).Value & ", " & _
Range("F" + Zeile).Value & ", " & _
c.Address
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address  firstAddress
End If
End With
End Sub

Wie ermittlere ich nun den Datensatz bzw. wie bekomme ich für den ausgewählten Datensatz alle Elemente in die Userform (die Felder sind alle da)?
Vielen Dank für eine Antwort
Mit freundlichen Grüßen
Albrecht

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Combobox auswählen
23.02.2010 13:09:06
Rudi
Hallo,
das sieht aber sehr kompliziert aus.
Da du alle Informationen als ,-getrennten Text in deiner CB hast:
meineDaten=Split(combobox1,", ")
Damit bekommst du ein Datenfeld(0 To 4)
Ich hoffe, in deinen Daten kommt nie ein , vor. Dann hast du ein Problem.
CBs können übrigens auch mehrspaltig sein.
Gruß
Rudi
AW: Combobox auswählen
23.02.2010 13:38:44
ing.grohn
Hallo Rudi,
es muß nicht so sein, wies aus sieht, dass , habe ich wegen der übersicht reingemacht.
In den Sätzen könnten auch Kommata sein (kann ich nicht ausschliessen. Ich möchte lediglich erreichen, dass Name Vorname Strasse Ort angezeigt werden und ich den richtigen Satz auswählen kann. Vieleicht hast Du ein einfaches Beispiel. Wie gesagt, ich arbeite das erste mal mit der Combobox.
Vielen Dank
Mit freundlichen Grüßen
Albrecht
Anzeige
AW: Combobox auswählen
23.02.2010 14:13:24
Rudi
Hallo,
in den Code der UF:
Option Explicit
Dim blnInit As Boolean
Private Sub ComboBox1_Change()
Dim i As Integer, arr(1 To 6)
If Not blnInit Then
For i = 1 To 6
arr(i) = ComboBox1.Column(i - 1)
Next
MsgBox Join(arr, ", ")
End If
End Sub
Private Sub UserForm_Initialize()
Dim firstAddress As String
Dim c As Range
Dim arrList(), n As Long, i As Integer
blnInit = True
ComboBox1.ColumnCount = 6
ReDim arrList(1 To 6, 1 To 1)
With Sheets("Adressen")
With .Range("A:A")
Set c = .Find(What:="amtsgericht", LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
n = n + 1
ReDim Preserve arrList(1 To 6, 1 To n)
For i = 1 To 5
arrList(i, n) = c.Offset(, i)
Next
arrList(6, n) = c.Address
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address  firstAddress
End If
End With
End With
ComboBox1.List = WorksheetFunction.Transpose(arrList)
ComboBox1.ListIndex = 0
blnInit = False
End Sub

Gruß
Rudi
Anzeige
AW: Combobox auswählen
23.02.2010 14:32:34
ing.grohn
Hallo Rudi,
probier ich aus und versuchs zu verstehen.
Vielen Dank ich melde mich später.
Mit freundlichen Grüßen
Albrecht
AW: Combobox auswählen
23.02.2010 15:45:03
ing.grohn
Hallo Rudi,
wenn ich das .Range("A:A") belasse gibts ne Fehlermeldung "ungültiger Index für Eigenschaft, Column Eigenschaft nicht verfügbar", mit B:B gehts.
Allerdings fehlen mir Daten: Die Tabelle hat folgenden Aufbau: Anrede, Name, Vorname, strasse, PLZ, Ort,... (analog A -F ...)
Der Name kommt nicht, ich weiss nicht warum.
Gebe ich den Ortsnamen als Suchvorgabe, kommt scheinbar Chaos!?
Vielleicht antwortest Du noch mal.
Vielen Dank
Albrecht
Anzeige
AW: Combobox auswählen
23.02.2010 16:31:42
Rudi
Hallo,
ist 'amtsgericht' nur ein Teil in der Zelle?
Set c = .Find(What:="amtsgericht", LookIn:=xlValues, LookAt:=xlPart)
Sonst lad mal ein Bsp. hoch.
Gruß
Rudi

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige