Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 2 Spalte in ComboBox anzeigen

2 Spalte in ComboBox anzeigen
ray
Hallo,
ich hab grad das Archiv durchsucht und kann mein Problem leider nciht lösen:
Ich möchte mit nachstehenden Code (aus diesem Forum) nicht nur Spalte 8 sondern Spalte 1 und 8 anzeigen lassen. Hab schon rumprobiert, aber nix geht...
'#### ComboBox mit ALLEN Mänglen füllen START #### 
Dim wbk As Workbook
   Dim wks As Worksheet
   Dim vRow As Variant
   Dim iRow As Integer, iRowT As Integer, iRowL As Integer
   
   Application.ScreenUpdating = False
   
   Set wbk = Workbooks.Open("F:\daten\mängelliste.xls")
   
                       
            'nur mit WhgNr 
            On Error GoTo zerror
                       iRowL = 0
                       iRowT = 0
                       Set wks = wbk.Sheets(1)
                        iRowL = wks.Cells(wks.Rows.Count, 8).End(xlUp).Row
                        Workbooks.Add
                        
                        For iRow = 1 To iRowL
                         If wks.Cells(iRow, 3).Value = lbWhg Then
                         vRow = Application.Match(wks.Cells(iRow, 8).Value, Columns(1), 0)
                             If IsError(vRow) Then
                             iRowT = iRowT + 1
                             Cells(iRowT, 1).Value = wks.Cells(iRow, 8).Value
                             End If
                         End If
                         Next iRow
                        
                           
                        Range("a1").CurrentRegion.Sort _
                           key1:=Range("A1"), order1:=xlAscending, Header:=xlNo
                        With frmAuftrag.cbMängelAlle
                           .List = Range("A1").CurrentRegion.Value
                           If .ListCount > 0 Then .ListIndex = 0

                        End With

zerror:
            
            ActiveWorkbook.Close savechanges:=False
   
   wbk.Close
   
   Set wbk = Nothing
   Set wks = Nothing
   
   Application.ScreenUpdating = True
'#### ComboBox mit Mänglen füllen ENDE #### 

Viele Grüße aus Hamburg bei bewölkten 18 Grad
Ray
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: 2 Spalte in ComboBox anzeigen
07.09.2009 09:35:21
Peter
Hallo ray,
warum so kompliziert?
Versuch es - nach Anpassung auf Deine Belange - so:
Option Explicit
Private Sub UserForm_Initialize()
Dim vTemp  As Variant
With ThisWorkbook.Worksheets("Tabelle1")
vTemp = .Range("A2:H" & .Cells(Rows.Count, 1).End(xlUp).Row)
End With
With ComboBox1
.ColumnCount = 8
.Clear
.List = vTemp
End With
End Sub
Gruß Peter aus HH
Anzeige
gehtl leider nicht...
07.09.2009 09:55:32
ray
Hallo,
hab das so eingebaut, was nciht geht...
Range("a1").CurrentRegion.Sort _
key1:=Range("A1"), order1:=xlAscending, Header:=xlNo
Dim vTemp As Variant
With wks 'ThisWorkbook.Worksheets("Tabelle1")
vTemp = .Range("A2:H" & .Cells(Rows.Count, 1).End(xlUp).Row)
End With
With frmAuftrag.cbMängelAlle
.List = vTemp
If .ListCount > 0 Then .ListIndex = 0
Was ist falsch?
Gruß Ray
Anzeige
AW: gehtl leider nicht...
07.09.2009 10:23:04
Peter
Hallo ray,
kann es sein, dass das Apostroph vor ThisWorkbook stört?
Als Anhan findest Du meine kleine Spielerei. https://www.herber.de/bbs/user/64250.xls
Gruß Peter
AW: gehtl leider nicht...
07.09.2009 10:58:43
ray
das Apostroph kann nicht stören, ist ja kommentar.
Aber Dein xls sieht sehr sehr interessant aus. Ich schau mir gleich mal den Code an.
Danke und Gruß
ray
Anzeige
AW: gehtl leider nicht...
07.09.2009 20:58:33
Peter
Hallo ray,
wo setzt Du denn WkS auf das richtige Tabellenblatt?
Wenn Du bei meiner Spielerei noch die 8 Spalten änderst, hast Du sofort nur Spalte 1 und 8
With ComboBox1
.ColumnCount = 8
.ColumnWidths = ("2,5cm;0cm;0cm;0cm;0cm;0cm;0cm;2,5cm")
.ListRows = 12
.Font.Size = 12
.Clear
.List = vTemp
End With
Gruß Peter
Anzeige
Sehr beeindrucken. Vielen Dank Peter. oT
08.09.2009 12:43:46
ray
ot
AW: gehtl leider nicht...
07.09.2009 10:27:08
JogyB
Hi.
Vielleicht gibt es noch eine elegantere lösung, aber mir fällt gerade keine ein.
Private Sub UserForm_Initialize()
Dim listSrc
Dim tempList
Dim wks As Worksheet
Dim i As Long
' Hier muss natürlich das für Dich korrekte Sheet stehen
Set wks = ThisWorkbook.Sheets("Tabelle1")
With wks
listSrc = .Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp)).Value
' gleich viele Elemente wie in listSrc,
' +1 weil die Range in Zeile 2 startet, der Array aber in 1
tempList = .Range(.Cells(2, 8), .Cells(UBound(listSrc, 1) + 1, 8)).Value
End With
ReDim Preserve listSrc(1 To UBound(listSrc, 1), 1 To 2)
For i = 1 To UBound(listSrc, 1)
listSrc(i, 2) = tempList(i, 1)
Next
With ComboBox1
.ColumnCount = 2
.List = listSrc
End With
End Sub
Gruss, Jogy
Anzeige
ich chk das Gruß oT
07.09.2009 10:59:17
ray
ich
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige