Combobox aus Spalten als Einträge & Leerzellen aus

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm MsgBox
Bild

Betrifft: Combobox aus Spalten als Einträge & Leerzellen aus
von: wolfgang
Geschrieben am: 07.04.2005 11:01:50
guten morgen zusammen
ich möchte zwei comboboxen in Abhängig von einander im Formular erstellen
dazu gibt hier schon genügend Lösungsansätze
das Tabellenblatt ist eine Kreuztabelle aus einer Abfrage externer Daten
in Zeile 1 stehen die Überschriften (hier Länder)
in den entsprechenden Spalte die Einträge ( Hier z. b.: Städte)
jetzt mein Problem
1 . Rangeobject mit rowscoure zuweisen und Spalte als Einträge erhalten
Zeile der Arbeitsmappe enthält ab Spalte 2 die Überschriften (Länder)
Ausschnitt
####
'CB_Country und CB_Stadt sind Typ combobox
'
Dim Überschriften As Range


Private Sub UserForm_Initialize()
    Set Überschriften = Range(Cells(1, 2), _
                    Cells(1, Cells(1, 2).CurrentRegion.Columns.Count))
    Country.RowSource = Überschriften.Address
  End Sub

#####
Beim Einlesen bekomme ich einen Eintrag mit mehrer Spalten
läst sich diese mit einer Funktion ähnlich 'transpose' umwandeln ??
(ohne Vor-Next-Schleife mit additem)

2
Problem Leerzellen und Dublikate in den Einträgen
####

Private Sub CB_Country_Change()
        Spalte = CB_Country.ListIndex
        CB_Stadt.RowSource = Range(Cells(2, Spalte), _
                                Cells(200, Spalte)).Address
End Sub

in dem Bereich können doppelte und Leerzellen sein
hilft hier auch nur For-Next mit additem und Abfrage "wenn nicht leer"
gerne würde ich die Einträge auch sortieren
viele Dank für jeden Lösungsansatz
und natürlich auch einen besonderen Dank an Herrn Herber der hier schon eine gewaltige Sammlung geschaffen hat
Gruß Wolfgang
Bild

Betrifft: AW: Combobox aus Spalten als Einträge & Leerzellen
von: Tobias Marx
Geschrieben am: 07.04.2005 11:04:11
Wie waers denn mal damit, die Forenregeln durchzulesen? Einmal posten reicht, wenn jemand ne Antwort auf deine Frage hat, wird er schon antworten.

Gruss

Tobias
Bild

Betrifft: AW: Combobox aus Spalten als Einträge & Leerzellen
von: Wolfgang
Geschrieben am: 07.04.2005 12:10:04
Sorry hatte bei mir mit einer Fehlermeldung Passwort falsch quittiert
sollte wirklich kein Doppeleintrag sein
mfg Wolfgang
Bild

Betrifft: AW: Combobox aus Spalten als Einträge & Leerzellen aus
von: Rolf Beißner
Geschrieben am: 07.04.2005 17:12:00
Hallo Wolfgang,
ist so 'ne Sache mit den Doppeleinträgen -
man weiss nie, wer wo gerade guckt.
Ich habe dir mal ein Beispiel gebastelt,
das du deinen Bedürfnissen anpassen musst.
fG
Rolf
Option Explicit
'generiertes Datenfeld anzeigen

Sub Show_Array()
    Dim A As Variant
    Dim rng As Range
    Set rng = ActiveSheet.PivotTables(1) _
        .ColumnFields("Datum").PivotItems("Jan").DataRange
    A = Make_Array(rng)
    MsgBox Join(Sort(A), vbLf)
End Sub

'Datenfeld aus Range generieren

Function Make_Array(bereich As Range) As Variant
    Dim feld As Range
    Dim x()
    Dim i As Integer
    For Each feld In bereich
        If feld <> "" Then
        i = i + 1
        ReDim Preserve x(i)
        x(i) = feld
        End If
    Next
    Make_Array = x
End Function

'Datenfeld sortieren

Function Sort(arr As Variant) As Variant
    Dim i As Integer, j As Integer  
    Dim x1, x2                      
    For i = 1 To UBound(arr)
        x1 = arr(i)
        For j = i + 1 To UBound(arr)
            x2 = arr(j)
            If arr(i) > arr(j) Then 'aufsteigend
            'If arr(i) < arr(j) Then 'absteigend
                arr(i) = x2         
                arr(j) = x1
                x1 = arr(i)
                x2 = arr(j)
            End If
        Next
    Next
    Sort = arr
End Function

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Combobox aus Spalten als Einträge & Leerzellen aus"