Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Textbox mit Einträgen aus der TXT-Datei befüllen?

Textbox mit Einträgen aus der TXT-Datei befüllen?
30.07.2018 18:55:22
Sergej
Hallo Leute,
ich habe ein UserForm mit 15 x TextBox. In einer TXT-Datei „d:\daten\befehle.txt“ habe ich zeilenweise Einträge stehen.
Wie kann man bitte per Start von UserForm die Einträge aus der TXT-Datei in die jeweilige TextBox1 bis Textbox15 einlesen?
Besten Dank vorab!
Gruß,
Sergej
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textbox mit Einträgen aus der TXT-Datei befüllen?
30.07.2018 19:22:08
Oberschlumpf
Hi Sergej,
versuch mal (ungetestet)

Sub sbTxt2Txt()
Dim liTxt As Integer, lstrTxt As String
liTxt = 1
Open "d:\daten\befehle.txt" For Input As #1
Do Until EOF(1)
Line Input #1, lstrTxt
UserForm1.Controls("TextBox" & liTxt).Text = lstrTxt
liTxt = liTxt + 1
Loop
Close
End Sub

Dein Userform muss UserForm1 heißen. Wenn nicht, bitte anpassen.
Hilfts?
Wenn nicht, zeig bitte per Upload eine Bsp-Excel-Datei mit Userform + 15 Textboxen und eine Bsp-Txt-Datei.
Ciao
Thorsten
Anzeige
AW: Textbox mit Einträgen aus der TXT-Datei befüllen?
30.07.2018 23:56:24
Sergej
Hi Thorsten,
vielen Dank. Es funktioniert einwandfrei.
Gruß,
Sergej
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Textboxen in Excel UserForm mit TXT-Datei befüllen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle ein neues UserForm:

    • Gehe in den VBA-Editor (ALT + F11).
    • Klicke mit der rechten Maustaste auf dein Projekt und wähle „Einfügen“ > „UserForm“.
  2. Füge 15 TextBoxen hinzu:

    • Ziehe 15 TextBoxen aus der Toolbox in dein UserForm.
  3. Füge einen Button hinzu:

    • Ziehe einen Button auf das UserForm, um das Einlesen der Daten zu starten.
  4. Füge den VBA-Code hinzu:

    • Klicke doppelt auf den Button, um das Codefenster zu öffnen.
    • Füge den folgenden Code ein:
    Sub sbTxt2Txt()
       Dim liTxt As Integer, lstrTxt As String
       liTxt = 1
       Open "d:\daten\befehle.txt" For Input As #1
       Do Until EOF(1)
           Line Input #1, lstrTxt
           UserForm1.Controls("TextBox" & liTxt).Text = lstrTxt
           liTxt = liTxt + 1
       Loop
       Close
    End Sub
  5. Starte das UserForm:

    • Klicke im VBA-Editor auf „Run“ oder drücke F5, um dein UserForm zu testen.

Häufige Fehler und Lösungen

  • Fehler: „Datei nicht gefunden“

    • Überprüfe den Pfad zur TXT-Datei. Stelle sicher, dass die Datei tatsächlich im angegebenen Verzeichnis vorhanden ist.
  • Fehler: „UserForm nicht gefunden“

    • Achte darauf, dass das UserForm als „UserForm1“ benannt ist. Andernfalls passe den Code entsprechend an.
  • Fehler: „Nicht genügend TextBoxen“

    • Stelle sicher, dass du 15 TextBoxen auf dem UserForm hast.

Alternative Methoden

  • Daten direkt in eine Excel-Tabelle importieren:

    • Anstatt die Daten in ein UserForm zu laden, kannst du die TXT-Datei direkt in eine Excel-Tabelle importieren. Verwende dazu die Funktion „Daten aus Text/CSV“.
  • Verwendung von Arrays:

    • Wenn du eine größere Anzahl von TextBoxen hast, kannst du die Daten in ein Array laden und dann die TextBoxen mit einer Schleife befüllen.

Praktische Beispiele

  • Beispiel TXT-Datei „befehle.txt“:

    Befehl1
    Befehl2
    Befehl3
    Befehl4
    Befehl5
    Befehl6
    Befehl7
    Befehl8
    Befehl9
    Befehl10
    Befehl11
    Befehl12
    Befehl13
    Befehl14
    Befehl15
  • Verwendung des Codes in einer Excel-Version:

    • Der oben angegebene Code funktioniert in Excel 2010 und neueren Versionen.

Tipps für Profis

  • Fehlerbehandlung einfügen:

    • Füge On Error Resume Next am Anfang deines Codes hinzu, um Laufzeitfehler zu vermeiden. Dies kann dir helfen, das UserForm robuster zu gestalten.
  • Datenvalidierung:

    • Überprüfe die Anzahl der Zeilen in deiner TXT-Datei, bevor du versuchst, sie in die TextBoxen zu laden, um sicherzustellen, dass du keine leeren TextBoxen hast.

FAQ: Häufige Fragen

1. Wie kann ich den Pfad zur TXT-Datei dynamisch setzen?
Du kannst einen Dialog zur Dateiauswahl einfügen, um den Benutzer den Pfad auswählen zu lassen. Verwende dazu Application.GetOpenFilename.

2. Was passiert, wenn die TXT-Datei weniger als 15 Zeilen hat?
In diesem Fall werden die verbleibenden TextBoxen leer bleiben. Du kannst dies durch zusätzliche Logik im Code anpassen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige