Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Suche vereinfachen
#1
Und wieder ich, bitte nicht hauen...

Liebe Wissende,
eventuell ist der Themenname nicht treffend, hier meine Frage dazu:
Wie im Beispiel zu sehen ist, sind alle relevanten Informationen bereits in der Tabelle "DB_Ort" vorhanden, 
wie müsste in diesem Beispiel der Code angepasst werden, damit die Tabelle "DB_Name" nicht benötigt wird
und die Suche in der Tabelle "DB_Ort" erfolgt?

Beispiel:
Ich habe ein Tabellenblatt mit den Spalten Ort, Name, Rufnummer, welche als Tabelle formatiert ist ("DB_Ort").
Aus dieser Tabelle ziehe ich Daten für die Auswahl der CheckBox_Ort.
Ändert sich der Inhalt von CheckBox_Ort, ändert sich die Auswahlmöglichkeit für die Checkbox_Name.


Code:
Private Sub UserForm_Initialize()
'Auswahlmöglichkeiten ComboBox_Ort und Combobox_Name
ComboBox_Ort.List = WorksheetFunction.Unique( _
  Tabelle1.ListObjects("DB_Ort").ListColumns(1).DataBodyRange)

Private Sub ComboBox_Ort_Change()
With Tabelle1.ListObjects("DB_Ort")
  .Range.AutoFilter 1, ComboBox_Ort.Text
  ComboBox_Name.List = .ListColumns(2).DataBodyRange.SpecialCells(xlCellTypeVisible).Value
End With
End Sub

Ich habe nun eine zweites Tabellenblatt mit den Spalten Name, Rufnummer, welche als Tabelle formatiert ist ("DB_Telefon")
Aus dieser Tabelle ziehe ich Daten für die Auswahl der CheckBox_Name.
Ändert sich der Inhalt von CheckBox_Name, ändert sich die Auswahlmöglichkeit für die Checkbox_Telefon.

Code:
Private Sub UserForm_Initialize()
'Auswahlmöglichkeiten ComboBox_Name und Combobox_Telefon
ComboBox_Name.List = WorksheetFunction.Unique( _
  Tabelle2.ListObjects("DB_Telefon").ListColumns(1).DataBodyRange)

Private Sub ComboBox_Name_Change()
With Tabelle2.ListObjects("DB_Telefon")
  .Range.AutoFilter 1, ComboBox_Name.Text
  ComboBox_Telefon.List = .ListColumns(2).DataBodyRange.SpecialCells(xlCellTypeVisible).Value
End With
End Sub


LG Jana
Antworten Top
#2
Hallo Jana,

wenn ich nix übersehen habe gibt es in Deinen Codes keinen Bezug auf DB_Name.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Hi André,

sei doch nicht so kleinlich! :19:

Gruß Uwe
Antworten Top
#4
Hallo ihr beide,
ich habe jetzt ein kleines Beispiel im Anhang, wo ich versucht habe alles mit einer Tabelle zu machen,
aber der Code ist fehlerheaft, bei

Code:
ComboBox_Telefon.List = .ListColumns(3).DataBodyRange.SpecialCells(xlCellTypeVisible).Value

werden keine Zellen gefunden.

Gesamtcode:

Code:
Private Sub UserForm_Initialize()
ComboBox_Ort.List = WorksheetFunction.Unique( _
  Tabelle1.ListObjects("DB").ListColumns(1).DataBodyRange)
ComboBox_Name.List = WorksheetFunction.Unique( _
  Tabelle1.ListObjects("DB").ListColumns(2).DataBodyRange)
   End Sub
Private Sub ComboBox_Ort_Change()
With Tabelle1.ListObjects("DB")
  .Range.AutoFilter 1, ComboBox_Ort.Text
  ComboBox_Name.List = .ListColumns(2).DataBodyRange.SpecialCells(xlCellTypeVisible).Value
End With
End Sub
Private Sub ComboBox_Name_Change()
With Tabelle1.ListObjects("DB")
  .Range.AutoFilter 1, ComboBox_Name.Text
    ComboBox_Telefon.List = .ListColumns(3).DataBodyRange.SpecialCells(xlCellTypeVisible).Value
    End With
End Sub


Angehängte Dateien
.xlsm   AuswahlCheckboxen_V1.xlsm (Größe: 21,32 KB / Downloads: 2)
Antworten Top
#5
Hallöchen,

eigentlich muss ich mich zurückhalten, mangels unique in meinem Excle 2016 Sad
Aber trotzdem wüsste ich was Smile Das Problem sind nicht zusammenhängende Zellen im sichtbaren Bereich. Du bräuchtest zum direkten Füllen entweder einen zusammenhängenden Bereich oder Du klapperst die Zellen einzeln ab und füllst die Box entweder Zelle für zelle oder füllst erst ein Array und dann damit die Box.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste