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.

Listbox Daten aus anderer Datei nehmen
#1
Hallo Fennek,

Hier die Tabelle mit der Datenbank wo die Listbox leider nicht funktionniert und eben auch folgende Punkte:

1. Sind die Daten die in dieser Listbox angezeigt werden sollen nicht in der gleichen Excel Datei was ich schon mal plus minus hinbekommen hab dass er mir die Daten aus der anderen Datei nimmt Smile
2. Die Listbox die er momentan anzeigt bekomme ich nur 1 Spalte wieder gegeben doch nicht die weitere Spalten die ich noch möchte.
3. Sollte die Listbox nur die Zeilen anzeigen die in der Datenbank in Spalte B KEINE Daten enthalten.
4. Muss ich in der Listbox die Zeilen auswählen können die er mir dann in der Tabelle unter dem letzten Eintrag in der Tabelle dann hinzufügt momentan setzt er mir die Spalte in die falsche Spalte der Tabelle hinzu.
Die Datenbank Datei muss auf dem Desktop stehn da sonst der Pfad im VBA falsch ist!

Ich hab dir die ominöse Datei mit der Datenbank mal hinzugefügt

Der Makroname ist: ZeigeForm doch jetzt bekomm ich nicht mal mehr die Userform angezeigt sondern einen Fehler "400" wie gesagt ich bin am Ende!

Vielen lieben Dank


Angehängte Dateien
.xlsm   Tabelle.xlsm (Größe: 244,53 KB / Downloads: 7)
.xlsx   Datenbank.xlsx (Größe: 37,88 KB / Downloads: 6)
Antworten Top
#2
Hallo Patrick,

da läuft etwas grundsätzlich falsch. Du sammelst Code, der teilweise recht kompliziert und und teilweise schwach und setzt ihn noch fehlerhaft in "thisWorkbook" anstelle eines Moduls.

Abgesehen davon, dass ich UserForms und Listboxes eh nicht mag, es sind zuviele Zeile und Spalten um das noch übersichtlich dazustellen.

Verbundene Zellen und schlecht (teilweise) ausgefüllte Tabellen erschweren jedes VBA Programm.

Anbei ein Code, der die Datenbank auf leere Zeilen in Spalte B filtert und in ein neues Blatt der Makro-Datei schreibt. Die Zuordnung zwischen beiden Datensätzen ist nicht trivial.

Schaumal, ob du als Zwischenschritt damit zurecht kommst.

Code:
Sub Daten_laden()
If Sheets.Count = 1 Then Sheets.Add , Sheets(1)

Dim WBDaten As Workbook
Dim WS As Worksheet: Set WS = ActiveSheet

Pfad = ThisWorkbook.Path & "\"
Datenbank = "Datenbank.xlsx" '<<<<<<<< anpassen >>>>>>>>

Set WBDaten = GetObject(Pfad & Datenbank)
    If WBDaten.Sheets(1).Range("A1").MergeCells Then WBDaten.Sheets(1).Range("A1").EntireRow.Delete
    
    With WBDaten.Sheets(1).Cells(1).CurrentRegion 'Range(Cells(2, 1), Cells(lc, ls))
        .AutoFilter 2, "="
        .Copy
        WS.Range("A1").PasteSpecial xlValue
        .AutoFilter
    End With
WBDaten.Close 0
Set WBDaten = Nothing
End Sub

Die einzige Voraussetzung ist, dass beide Workbooks im selben Verzeichnis sind.

mfg
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • Petz1807
Antworten Top
#3
Vielen dank, passt Smile
Antworten Top


Gehe zu:


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