nun zu meinen Problem:
1. wie kann ich die betreffende Datei auswählen?
2. wie lade ich dann per makro die Daten in die textbox?
Gruß Cold
Private Sub Importstart()
Dim Text As String, Hfile As Integer, index As Integer
Hfile = FreeFile()
Open sSave For Input As Hfile
For index = 1 To 7
Input #Hfile, Text
UserForm1.Controls("TextBox" & CStr(index)).Text = Text
Next index
Close #Hfile
End Sub
Private Sub UserForm_Activate()
Dim intZeile As Integer
Dim intDatei As Integer
Dim strText As String
intDatei = FreeFile()
Open "C:\Ein Spatzenpaar.txt" For Input As #intDatei
Do Until EOF(intDatei)
'intZeile = intZeile + 1 ' die gelesenen Zeile zählen
Input #intDatei, strText
'If intZeile = 10 Then Exit Do ' nur 10 Zeilen lesen
If strText <> "" Then
If TextBox1.Text = "" Then
TextBox1.Text = strText
Else
TextBox1.Text = TextBox1.Text & Chr(10) & strText
End If
End If
Loop
Close #intDatei
End Sub
Private Sub UserForm_Activate()
Dim intZeile As Integer
Dim intDatei As Integer
Dim sFile As String
Dim strText As String
sFile = Application.GetOpenFilename("Text Dateien (*.txt), *.txt")
If sFile = "Falsch" Then Exit Sub
intDatei = FreeFile()
Open sFile For Input As #intDatei
Do Until EOF(intDatei)
'intZeile = intZeile + 1 ' die gelesenen Zeile zählen
Input #intDatei, strText
'If intZeile = 10 Then Exit Do ' nur 10 Zeilen lesen
If strText <> "" Then
If TextBox1.Text = "" Then
TextBox1.Text = strText
Else
TextBox1.Text = TextBox1.Text & Chr(10) & strText
End If
End If
Loop
Close #intDatei
End Sub
Um eine Textdatei in eine Textbox auf einer UserForm in Excel einzulesen, kannst Du die folgenden Schritte befolgen:
Private Sub CommandButton1_Click()
Dim intDatei As Integer
Dim strText As String
Dim sFile As String
sFile = Application.GetOpenFilename("Text Dateien (*.txt), *.txt")
If sFile = "Falsch" Then Exit Sub
intDatei = FreeFile()
Open sFile For Input As #intDatei
Do Until EOF(intDatei)
Input #intDatei, strText
If TextBox1.Text = "" Then
TextBox1.Text = strText
Else
TextBox1.Text = TextBox1.Text & Chr(10) & strText
End If
Loop
Close #intDatei
End Sub
Eine alternative Methode könnte die Verwendung einer ListBox sein, um mehrere Dateien anzuzeigen und auszuwählen. Dies könnte so implementiert werden:
Private Sub UserForm_Initialize()
Dim fileName As String
Dim folderPath As String
folderPath = "C:\DeinVerzeichnis\" ' Ändere dies zu deinem Verzeichnis
fileName = Dir(folderPath & "*.txt")
Do While fileName <> ""
ListBox1.AddItem fileName
fileName = Dir
Loop
End Sub
Wenn Du den oben genannten Code verwendest, kannst Du beispielsweise eine Textdatei wie "C:\Ein Spatzenpaar.txt" einlesen. Der Inhalt wird dann in der TextBox angezeigt. Dies ist nützlich, wenn Du große Mengen an Textdateien hast, die Du effizient verwalten möchtest.
1. Wie kann ich eine Textdatei ohne Benutzerinteraktion einlesen?
Du kannst den Dateipfad direkt im Code angeben, anstatt einen FileDialog zu verwenden.
2. Kann ich auch CSV-Dateien einlesen?
Ja, die Methode ist ähnlich, Du musst jedoch sicherstellen, dass Du die Daten korrekt analysierst, da CSV-Dateien oft durch Kommas getrennt sind.
3. Funktioniert das auch in Excel für Mac?
Ja, der VBA-Code sollte in Excel für Mac funktionieren, vorausgesetzt, Du hast Zugriff auf den VBA-Editor. Achte darauf, die Dateipfade entsprechend anzupassen.