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

Dropdown-Feld über Txt-Datei/Ini-Datei füllen

Dropdown-Feld über Txt-Datei/Ini-Datei füllen
02.12.2008 09:43:00
Till
Hallo Leute,
mit folgendem String:


    With ComboBox2
        .ColumnCount = 2
        .ColumnWidths = "170pt;0pt"
        .HideSelection = False
        .AddItem "Auswahl des Straßenquerschnittes"
        lngLast = Application.Max(ThisWorkbook.Sheets("DATA").Cells(Rows.Count, 1).End(xlUp).Row, 2)
        For lngRow = 2 To lngLast
            .AddItem ThisWorkbook.Sheets("DATA").Cells(lngRow, 1)
            .List(.ListCount - 1, 1) = ThisWorkbook.Sheets("DATA").Cells(lngRow, 2)
        Next
        ComboBox2.ListIndex = 0
    End With

fülle ich eine Combobox (also ein Dropdown-Feld) , was Werte aus Spalte A und B (kann egal lang sein) aus dem Datenblatt "DATA" einliest.
Jetzt bin ich schon seit längerem auf der Suche, wie diese Abfrage heißen soll, wenn man die Daten in einer Ini-Datei / Txt-Datei stehen hat.
Momentan steht in dem "DATA"-Sheet folgendes (eingelesen wird ab Zeile 2)
Userbild
Diese Txt bzw. Ini-Datei soll natürlich auch beliebig lang sein dürfen.
Kann mir da jemand helfen?
Gruß Till

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dropdown-Feld über Txt-Datei/Ini-Datei füllen
02.12.2008 12:08:26
Oberschlumpf
HI Till
Voraussetzung:
Die txt-Datei existiert schon
Die Daten in der Datei wurden wie folgt gespeichert
VDe 31-01-A1-MB/Ulmenstraße FR Nord;040468FFAEAB920E\aktuell_linie_2021_25012007\
(wichtig ist das Semikolon als Trennzeichen - anstelle dessen könnte auch z Bsp ein Leerzeichen stehen, dann muss aber der Code angepasst werden)
Versuch es mal so (ungetestet):
(sollten Fehler auftreten, schau dir mal die Hilfe zu den einzelnen Befehlen an - kann sein, dass ich mich vielleicht in der Syntax irrte)

Dim lstrInhalt As String, lstrDummy() As String
With ComboBox2
.ColumnCount = 2
.ColumnWidths = "170pt;0pt"
.HideSelection = False
.AddItem "Auswahl des Straßenquerschnittes"
End With
Open "deinPfad\deineTXTDatei" For Input As #1
Do While Not EOF(1)
Line Input #1, lstrInhalt
lstrDummy = Split(lstrInhalt,";")
ComboBox2.AddItem  lstrDummy(0)
ComboBox2.List(.ListCount - 1, 1) = lstrDummy(1)
Loop
Close


Hilft das?
Ciao
Thorsten

Anzeige
AW: Dropdown-Feld über Txt-Datei/Ini-Datei füllen
02.12.2008 12:23:00
Till
Hallo Thorsten,
ja das ist schon mal ein Ansatz.
Leider kommt in der Schleife noch ein Fehler:
"fehler beim kompilieren"
unzulässiger oder nicht ausrechend definierter Verweis
ComboBox2.List(.ListCount - 1, 1) = lstrDummy(1)
Bei .ListCount
Was ist da noch nicht sauber?
Danke schon mal!
Gruß Till
AW: Dropdown-Feld über Txt-Datei/Ini-Datei füllen
02.12.2008 12:39:38
Oberschlumpf
Hi
versuch es mit dieser Zeile:
ComboBox2.List(ComboBox2.ListCount - 1, 1) = lstrDummy(1)
Hilfts?
Ciao
Thorsten
AW: Dropdown-Feld über Txt-Datei/Ini-Datei füllen
02.12.2008 12:40:41
Rudi
Hallo,
ComboBox2.List(ComboBox2.ListCount - 1, 1) = lstrDummy(1)
oder
With ComboBox2
.List(.ListCount - 1, 1) = lstrDummy(1)
End With
Gruß
Rudi
Anzeige
AW: Dropdown-Feld über Txt-Datei/Ini-Datei füllen
02.12.2008 13:20:55
Till
Hallo Leute,
der Fehler kommt jetzt nicht mehr.
Aber leider bleibt jetzt alles hängen.
Und zwar hab ich die Combobox ja auf einer Maske, die automatisch startet (Private Sub UserForm_activate()), wenn ich das Makro aufrufe.
Leider zeigt Excel jetzt ein komplett weißes Feld und der Rechner ackert sich zu Tode.
Vielleicht dauert der Einlesevorgang aus der Txt-Datei zu lange?
Das habe ich (versucht) so zu machen.

    'Combobox2 füllen

    blnAction = False

    With ComboBox2

        .ColumnCount = 2

        .ColumnWidths = "170pt;0pt"

        .HideSelection = False

        .AddItem "Auswahl des Straßenquerschnittes"

    End With

    Open "strassen.txt" For Input As #1

    Do While Not EOF(1)

        Line Input #1, lstrInhalt

        lstrDummy = Split(lstrInhalt, ";")

        ComboBox2.AddItem lstrDummy(0)

        ComboBox2.List(ComboBox2.ListCount - 1, 1) = lstrDummy(1)

    Loop

    Close

    blnAction = True


Ich habe auch schon sämtliche andere Teilmodule überprüft.
Aber bei denen bleibt der Rechner nicht hängen.
Und wenn ich die o.g. Prozedur auskommentiere, öffnet alles wieder ohne Probleme, nur dass die Combobox unausgefüllt bleibt.
Weiß einer Rat?
Gruß Till
Anzeige
AW: Dropdown-Feld über Txt-Datei/Ini-Datei füllen
02.12.2008 14:06:55
Oberschlumpf
Hi Till
Starte das Ganze im VBA-Editor mal im Debug-Modus (F8 Schritt für Schritt) und lass dir die Inhalte der entsprechenden Variablen und(oder Combobox-Inhalte im Überwachungsfenster anzeigen.
Arbeite bei den Tests vielleicht mit einer txt-Datei mit nicht so vielen Einträgen, damit das Wiederholen der Doo-Loop-Schleife nicth so lange dauert.
Hilft das?
Ciao
Thorsten
AW: Dropdown-Feld über Txt-Datei/Ini-Datei füllen
02.12.2008 15:26:00
Till
Hallo Thorsten,
ich habe alles mal in ein seprates Blatt zum Testen kopiert.
Auch hier friert Excel ein und stürzt ab.
Versuch mal das angefügte Blatt (https://www.herber.de/bbs/user/57300.xls) und starte hier die Userform.
Du brauchst noch eine Datei: "strassen.txt"
In "strassen.txt" steht jetzt nur noch folgendes drin:
VDe 11-01-A1/Joseph-Beuys-Ufer;040468FF6A69740E\aktuell_Linie_1011_25012007\
Vielleicht stimmt der Pfad für "strassen.txt" nicht, damit Excel sich das aus dem selben Pfad sucht, wo die xls-Datei auch liegt?
Vielleicht fällt Dir / Euch noch was anderes ein?
Danke schon mal!
Gruß Till
Anzeige
AW: Dropdown-Feld über Txt-Datei/Ini-Datei füllen
03.12.2008 02:25:00
Oberschlumpf
Hi Till
Tausche die Open-Zeile gegen diese aus:

Open ThisWorkbook.Path & "\strassen.txt" For Input As #1


Nun sollte es laufen...oder?
Ach so...die Datei strassen.txt MUSS nun aber im selben Verzeichnis wie die Excel-Datei gespeichert sein.
Ciao
Thorsten

AW: Dropdown-Feld über Txt-Datei/Ini-Datei füllen
03.12.2008 08:40:33
Till
Hallo Thorsten,
ja genau das war es.
Vielen Dank für die nächtliche Antwort!
Gruß Till
AW: Dropdown-Feld über Txt-Datei/Ini-Datei füllen
02.12.2008 14:07:13
Oberschlumpf
Hi
versuch es mit dieser Zeile:
ComboBox2.List(ComboBox2.ListCount - 1, 1) = lstrDummy(1)
Hilfts?
Ciao
Thorsten
AW: Dropdown-Feld über Txt-Datei/Ini-Datei füllen
02.12.2008 15:27:00
Till
https://www.herber.de/bbs/user/57300.xls
Startet so besser
Gruß Till
Anzeige

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige