Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1100to1104
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
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

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
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
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

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige