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

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

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

Textbox mit Einträgen aus der TXT-Datei befüllen?
30.07.2018 20: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 21: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?
31.07.2018 01: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.

Anzeige
Anzeige