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

Line Input in verschiedene Zellen

Line Input in verschiedene Zellen
17.11.2020 09:28:11
Levi
Servus Zusammen,
ich versuche hier schon lange ein Problem zu lösen, schaffe es jedoch nicht.
Ich möchte eine .txt Datei mit Line Input einlesen, was auch funktioniert. Jetzt möchte ich jedoch das sobald das Symbol "(" am Zeilenbeginn vorkommt, eine neue Zelle angefangen wird.
Hier mein Code:
Option Explicit

Sub InEineZelleEinlesen()
Dim a As String, r1 As Range
Dim QuellDatei As String
Dim i As Long
'Dateipfad festlegen
QuellDatei = "C:\Users\FQXM87S\Desktop\excel tests\Test.txt"
'Dateipfad als Zeileninput festlegen
Open QuellDatei For Input As #1
'Tabelle und Feld auswählen welches bearbeitet werden soll
'Schleife bis Ende der Datei
i = 1
While Not EOF(1)
'Werte aus Datei auf a schreiben (Zeilenweise)
Line Input #1, a
'Ausgewählte Zeile mit Zelleninhalt und Inhalt aus a überschreiben und Zeilenumbruch einfügen
If Left(Cells(i, "A"), 1) = "(" Then
Cells(i, 1).EntireRow.Insert
i = i + 1
End If
i = i + 1
Set r1 = Worksheets("einlesen").Range("A1")
r1 = r1 & a & vbLf
Wend
Close #1
End Sub

Was logischerweise nicht funktioniert ist die If-Schleife.
Wenn mir jemand helfen könnte wäre das echt klasse.
Gruß

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Line Input in verschiedene Zellen
17.11.2020 09:49:18
Nepumuk
Hallo Levi,
so ganz habe ich dich nicht verstanden. Eventuell so?
Option Explicit

Public Sub InEineZelleEinlesen()
    
    Dim a As String, r1 As Range
    Dim QuellDatei As String
    Dim i As Long
    
    'Dateipfad festlegen
    QuellDatei = "C:\Users\FQXM87S\Desktop\excel tests\Test.txt"
    'Dateipfad als Zeileninput festlegen
    Open QuellDatei For Input As #1
    'Tabelle und Feld auswählen welches bearbeitet werden soll
    'Schleife bis Ende der Datei
    i = 1
    
    Do Until EOF(1)
        
        'Werte aus Datei auf a schreiben (Zeilenweise)
        Line Input #1, a
        'Ausgewählte Zeile mit Zelleninhalt und Inhalt aus a überschreiben und Zeilenumbruch einfügen
        
        If Left$(a, 1) = "(" Then
            
            Cells(i, 1).EntireRow.Insert
            
            Cells(i, 1).Value = a
            
            i = i + 1
            
        Else
            Cells(i, 1).Value = Cells(i, 1).Value & a
        End If
        
    Loop
    Close #1
End Sub

Gruß
Nepumuk
Anzeige
AW: Line Input in verschiedene Zellen
17.11.2020 10:45:08
Levi
Danke schonmal für die schnelle Antwort. Ich erkläre es nochmal anders:
Dieser Teil hier liest Zeile für Zeile meine .txt Datei in eine Zelle ein. Nach jedem Zeilenende habe ich einen Textumbruch, bleibe aber in der gleichen Zelle. Ich könnte hier beispielsweise ein ganzes Buch, bis der maximale Inhalt einer Zelle erreicht ist, einlesen.
While Not EOF(1)
Line Input #1,
Set r1 = Worksheets("einlesen").Range("A1")
r1 = r1 & a & vbLf
Wend
Jetzt möchte ich aber, dass eine neue Zelle angefangen wird sobald dieses Symbol "(" am Zeilenbeginn auftaucht, was ich versucht habe hier zu realisieren.
If Left(Cells(i, "A"), 1) = "(" Then
Cells(i, 1).EntireRow.Insert
i = i + 1
End If
i = i + 1
Aber so wird leider nur der Anfang der Zelle betrachtet in der ich mich soweiso schon befinde. Also wenn eine "(" Klammer eingelesen wird passiert nichts.
Gruß
Anzeige
AW: Line Input in verschiedene Zellen
17.11.2020 10:51:28
Nepumuk
Hallo Levi,
dann brauchst du doch keine neue Zeile einfügen, es genügt doch den Zeilenzähler hoch zu setzen:
Option Explicit

Public Sub InEineZelleEinlesen()
    
    Dim a As String
    Dim QuellDatei As String
    Dim i As Long
    
    'Dateipfad festlegen
    QuellDatei = "C:\Users\FQXM87S\Desktop\excel tests\Test.txt"
    'Dateipfad als Zeileninput festlegen
    Open QuellDatei For Input As #1
    'Tabelle und Feld auswählen welches bearbeitet werden soll
    'Schleife bis Ende der Datei
    i = 1
    
    Do Until EOF(1)
        
        'Werte aus Datei auf a schreiben (Zeilenweise)
        Line Input #1, a
        'Ausgewählte Zeile mit Zelleninhalt und Inhalt aus a überschreiben und Zeilenumbruch einfügen
        
        If Left$(a, 1) = "(" Then i = i + 1
        
        Cells(i, 1).Value = Cells(i, 1).Value & a
        
    Loop
    Close #1
End Sub

Gruß
Nepumuk
Anzeige
AW: Line Input in verschiedene Zellen
17.11.2020 12:03:51
Levi
Danke für die Antwort das hat geklappt :)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige