Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1784to1788
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

ComboBox
29.09.2020 10:42:37
sigrid
Guten Morgen zusammen,
ich habe folgendes Makro für die ComboBox, funktioniert einwandfrei.
Jetzt möchte ich aber das die ComboBox 2 Spalten auswählt:
ActiveSheet.ComboBox1.ListFillRange = "Muster!I4:J20"
aber bis zur letzten belgten Zelle in Spalte I (ab Zelle4)
2. Frage:
Geht das, das man den Wert der 2.Spalte in D6 schreibt ?
'-- hier das Orginal Makro ----------------------------
Private Sub ComboBox1_DropButtonClick()
If Range("A1") = 1 Then
ActiveSheet.ComboBox1.ListFillRange = "Muster!I4:I20"
ActiveSheet.Range("D5") = ActiveSheet.ComboBox1  'ausgewählte in D5 setzen
ElseIf Range("A1") = 2 Then
ActiveSheet.ComboBox1.ListFillRange = "Muster!M4:M20"
ActiveSheet.Range("D5") = ActiveSheet.ComboBox1
Else
ActiveSheet.ComboBox1.ListFillRange = ""
End If
End Sub
gruß sigrid

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

Betreff
Datum
Anwender
Anzeige
AW: ComboBox
29.09.2020 11:31:43
Nepumuk
Hallo sigrid,
teste mal:
Private Sub ComboBox1_DropButtonClick()
    If Range("A1").Value = 1 Then
        ComboBox1.ColumnCount = 2
        With Worksheets("Muster")
            ComboBox1.ListFillRange = .Range(.Cells(4, 9), _
                .Cells(.Rows.Count, 10).End(xlUp)).Resize(, 2).Address(External:=True)
        End With
        Range("D5").Value = ComboBox1.Text 'ausgewählte in D5 setzen
    ElseIf Range("A1") = 2 Then
        ComboBox1.ColumnCount = 1
        ComboBox1.ListFillRange = "Muster!M4:M20"
        Range("D5").Value = ComboBox1.Text
    Else
        ComboBox1.ListFillRange = ""
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: ComboBox
29.09.2020 11:46:04
Nepumuk
Ooooooops,
die Ausgabe des Wertes aus Spalte 2 hab ich vergessen.
Private Sub ComboBox1_DropButtonClick()
    If Range("A1").Value = 1 Then
        With Worksheets("Muster")
            ComboBox1.ListFillRange = .Range(.Cells(4, 9), _
                .Cells(.Rows.Count, 9).End(xlUp)).Resize(, 2).Address(External:=True)
        End With
        With ComboBox1
            .ColumnCount = 2
            .TextColumn = 2
            .BoundColumn = 2
            Range("D5").Value = .Text 'ausgewählte in D5 setzen
        End With
    ElseIf Range("A1") = 2 Then
        With ComboBox1
            .ListFillRange = "Muster!M4:M20"
            .ColumnCount = 1
            .TextColumn = -1
            .BoundColumn = 1
            Range("D5").Value = .Text
        End With
    Else
        ComboBox1.ListFillRange = ""
    End If
End Sub

Gruß
Nepumuk
Anzeige
Soweit sehr gut aber der Wert in...
29.09.2020 12:08:52
sigrid
Hallo Nepumuk,
das Makro funktioniert aber der Wert aus der 2. Spalte sollte
jetzt in E5 gesetzt werden.
gruß sigrid
Ich habs... Danke nochmal ! --))
29.09.2020 12:21:10
sigrid
Hallo Nepumuk,
habe so reingesetzt:
With ComboBox1
.ColumnCount = 1
.TextColumn = 1
.BoundColumn = 1
Range("D5").Value = .Text 'ausgewählte in D5 setzen
End With
With ComboBox1
.ColumnCount = 2
.TextColumn = 2
.BoundColumn = 2
Range("E5").Value = .Text 'ausgewählte in E5 setzen
End With
klappt !
gruß sigrid
Bitte noch kleine Nachfrage...
29.09.2020 14:50:14
sigrid
Hallo Nepumuk,
was mnuss ich einsetzen, damit nach dem auswählen mir die
Spalte 1 angezeigt wird ?
Private Sub ComboBox1_DropButtonClick()
If Range("A1").Value = 1 Then
With Worksheets("Feiertage")
ComboBox1.ListFillRange = .Range(.Cells(4, 9), _
.Cells(.Rows.Count, 9).End(xlUp)).Resize(, 2).Address(External:=True)
End With
With ComboBox1
.ColumnCount = 1
.TextColumn = 1
.BoundColumn = 1
ActiveSheet.Range("F5").Value = .Text 'ausgewählte in F5 setzen
End With
With ComboBox1
.ColumnCount = 2
.TextColumn = 2
.BoundColumn = 2
ActiveSheet.Range("G5").Value = .Text 'ausgewählte in G5 setzen
End With
gruß sigrid
Anzeige
AW: Bitte noch kleine Nachfrage...
29.09.2020 15:02:12
Nepumuk
Hallo sigrid,
ich war so frei das Ganze noch etwas umzubauen:
Option Explicit

Private mblnNoChange As Boolean

Private Sub ComboBox1_Change()
    If Not NoChange Then
        With ComboBox1
            If .ListFillRange <> vbNullString Then If Cells(1, 1).Value = 1 Then _
                Cells(5, 4).Value = .Value Else Cells(5, 5).Value = .Value
        End With
    End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        NoChange = True
        If Target.Value = 1 Then
            With Worksheets("Muster")
                ComboBox1.ListFillRange = .Range(.Cells(4, 9), _
                    .Cells(.Rows.Count, 9).End(xlUp)).Resize(, 2).Address(External:=True)
            End With
            With ComboBox1
                .ListIndex = -1
                .ColumnWidths = "50;50"
                .ColumnCount = 2
                .TextColumn = 1
                .BoundColumn = 2
                .Text = Cells(5, 4).Value
            End With
        ElseIf Target.Value = 2 Then
            With ComboBox1
                .ListFillRange = "Muster!L4:M20"
                .ListIndex = -1
                .ColumnWidths = "0;50"
                .ColumnCount = 2
                .TextColumn = 2
                .BoundColumn = 2
                .Text = Cells(5, 5).Value
            End With
        Else
            ComboBox1.ListFillRange = ""
        End If
        NoChange = False
    End If
End Sub

Private Property Get NoChange() As Boolean
    NoChange = mblnNoChange
End Property

Private Property Let NoChange(ByVal pvblnNoChange As Boolean)
    mblnNoChange = pvblnNoChange
End Property

Gruß
Nepumuk
Anzeige
Danke aber...
29.09.2020 15:43:39
sigrid
Hallo Nepumuk,
herzlichen Dank aber ich blicke da nicht mehr durch...
Ich wollte nur das die ComboBox nach der Auswahl immer den die 1. Spalte
anzeigt.
gruß sigrid
AW: Danke aber...
29.09.2020 15:53:31
Nepumuk
Hallo sigrid,
bei mir (Excel 2013) hat sich die ComboBox geweigert von zweispaltig auf einspaltig umzuschalten. Zudem genügt es ja die Werte in der ComboBox zu wechseln wenn sich der Wert in Zelle A1 ändert und nicht bei jedem Klick auf die Box. Klick einfach in die Zelle A1 - F2 - Enter. Damit ist die Box initialisiert. Damit sollte es in allen Excelversionen funktionieren.
Gruß
Nepumuk
Danke für die Info ! -)
29.09.2020 16:07:35
sigrid

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige