15.04.2025, 14:20 (Dieser Beitrag wurde zuletzt bearbeitet: 15.04.2025, 14:46 von Tobias.Schwinghoff.)
Hallo Zusammen,
nochmal ich, gibt es eine Möglichkeit ein txt File in eine vorgegebene Excel Tabelle einzufügen? Das schwierige daran ist, dass im txt File nur bestimmte Zeilen verwendet werden sollen, ich mache gleich eine Mustervorlage von beiden Sachen.
in der Spalte Background wash müsste jetzt aus der BGW Datei eingelesen werden. Hier verhält es sich jetzt aber so, dass nur die Zahlenwerte bis RLU10 Spaltenweise eingelesen werden sollen. Es gibt hier 2 verschiedene Versionen einmal mit 10 Einträgen wie angehängt und einmal eine mit 3 die ich jetzt nicht angehängt habe, aber die Reihe nach rechts im txt File hat dann nur 3 Zeilen anstatt der 10.
Jetzt war meine Frage, kann man sowas in VBA realisieren?
Das ganze Prozedere gibt es dann für Background wash, Light Check Left und Light Check Rechts
hier eine Lösung mit PQ. Waren nur einige wenige Klicks...
Deine beiden *.txt-Dateien müssen in C:\temp liegen.
In deinen beiden Tabellen habe ich dir zwei unterschiedliche Arten aufgezeigt, die in anderen Tabellenblättern importieren Dateien mit einer Formel in dein Formular zu holen.
Übrigens, das tippen dieses Textes hat länger gedauert als die Datei zu bearbeiten.
15.04.2025, 17:23 (Dieser Beitrag wurde zuletzt bearbeitet: 15.04.2025, 17:24 von Fennek.)
Hallo,
hier eine VBA-Lösung, die Indizes sind eher schwierig:
Code:
Option Explicit Dim FSO As Object
Sub Einlesen_Textfiles() Dim Data, d, ZL, Pfad As String, i As Integer, j As Integer
If FSO Is Nothing Then Set FSO = CreateObject("Scripting.FileSystemObject") Pfad = Environ("userprofile") & "\desktop\"
Data = Split(FSO.OpenTextFile(Pfad & "10BG.txt").Readall, vbCrLf)
For Each d In Data If Left(d, 3) = "RLU" Then i = i + 1 ZL = Split(Replace(d, " ", ""), vbTab) For j = 1 To 10 Cells(14 + i, 3 + j) = ZL(j) Next j End If If i = 10 Then Exit For Next d End Sub
Sub M_snb() With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText Join(Filter(Split(CreateObject("scripting.filesystemobject").opentextfile(CreateObject("wscript.shell").SpecialFolders(4) & "\10BGW.txt").readall, vbCrLf), "RLU"), vbCr) .PutInClipboard .GetFromClipboard Sheet1.Paste Cells(5, 1) End With End Sub