Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Bestimmte Werte aus der Datei auslesen?

Betrifft: Bestimmte Werte aus der Datei auslesen? von: Sergej
Geschrieben am: 28.11.2020 12:49:06

Hallo zusammen,

wie kann ich bitte per Makro in einer TXT-Datei nach [/Main] (es steht nicht immer in selbe Zeile) suchen, dann aus der Zeile da drunter den Wert aus eckigen Klammern auslesen, danach soll aus der Zeile da drunter der erste Zahl vor dem Komma ebenfalls ausgelesen werden und beide in einem MsgBox angezeigt werden. Im Beispiel müsste "Esprit" und "18" ausgegeben werden.

[Main]
Path_template=M:\projekte\2020\vorlagen\template_einhaluf.vor
Path_excel=T:\Export\Berichte\test.xlsx
Show=1
Silent=1
[/Main]
[Esprit]
18,1

Beste Grüße,
Sergej

Betrifft: AW: Bestimmte Werte aus der Datei auslesen?
von: Werner
Geschrieben am: 28.11.2020 13:21:12

Hallo,
Sub Schaltfläche1_Klicken()
Dim raFund As Range, strWert1 As String, strWert2 As String

Set raFund = Columns("A").Find(what:="[/Main]", LookIn:=xlValues, lookat:=xlWhole)
If Not raFund Is Nothing Then
    strWert1 = raFund.Offset(1)
    strWert2 = raFund.Offset(2)
    strWert1 = Replace(strWert1, "[", "")
    strWert1 = Replace(strWert1, "]", "")
    MsgBox strWert1 & " " & Split(strWert2, ",")(0)
Else
    MsgBox "Der Suchbegriff /Main wurde nicht gefunden."
End If


Set raFund = Nothing
End Sub
Gruß Werner

Betrifft: AW: Bestimmte Werte aus der Datei auslesen?
von: Sergej
Geschrieben am: 28.11.2020 14:03:04

Hallo Werner,

besten Dank. Es funktioniert super!

Gruß,
Sergej

Betrifft: Gerne u. Danke für die Rückmeldung. o.w.T.
von: Werner
Geschrieben am: 28.11.2020 14:41:42



Betrifft: AW: Bestimmte Werte aus der Datei auslesen?
von: ralf_b
Geschrieben am: 28.11.2020 13:24:40

Hallo Sergej

1. passenden Code zum auslesen einer Textdatei aus dem Forum, Archiv usw. suchen.
2. Beispieldatei erstellen.
3. wir basteln bis es geht.

Alternative:

bissle warten auf das sich Einer erbarmt und dir das fertig liefert.

Welche Option nimmst du?


gruß
RB

Betrifft: AW: Bestimmte Werte aus der Datei auslesen?
von: Sergej
Geschrieben am: 28.11.2020 14:42:27

Hallo Ralf,

gerne möchte ich dir antworten, da du mir hier sehr oft geholfen hast.

Ich habe gestern Abend recherchiert und ein paar Beispiele gefunden, leider habe ich nicht geschafft mit dem Code in die nächsten Zeilen ab [/Main] "zu springen". Das hätte ich schreiben sollen.

Sub ReadTXT()
Dim iFile As Integer
Dim sSearch As String, sTxt As String
Dim sFile As String

iFile = FreeFile
sFile = "M:\projekte\2020\Import\Master.txt"
sSearch = "[/Main]"
Open sFile For Input As iFile
Do Until EOF(1)
   Input #iFile, sTxt
   If InStr(sTxt, sSearch) Then
      sTxt = Replace(sTxt, "[", "")
      sTxt = Replace(sTxt, "]", "")
      Debug.Print "Gefunden: " & sTxt
      Exit Do
   End If
Loop
Close iFile
End Sub
Beste Grße,
Sergej

Betrifft: AW: Bestimmte Werte aus der Datei auslesen?
von: Sergej
Geschrieben am: 28.11.2020 19:29:51

Hallo zusammen,

wie kann ich es bitte per TXT-Datei auslesen bzw. ein Offset nach unten einstellen, um gewünschte Ergebnisse zu erhalten?
Sub ReadTXT()
Dim iFile As Integer
Dim sSearch As String, sTxt As String
Dim sFile As String

iFile = FreeFile
sFile = "M:\projekte\2020\Import\Master.txt"
sSearch = "[/Main]"
Open sFile For Input As iFile
Do Until EOF(1)
   Input #iFile, sTxt
   If InStr(sTxt, sSearch) Then
      sTxt = Replace(sTxt, "[", "")
      sTxt = Replace(sTxt, "]", "")
      Debug.Print "Gefunden: " & sTxt
      Exit Do
   End If
Loop
Close iFile

End Sub
Beste Grüße,
Sergej

Betrifft: AW: Bestimmte Werte aus der Datei auslesen?
von: ralf_b
Geschrieben am: 28.11.2020 19:42:16

wenn du main gefunden hast rufst du "Input #iFile, sTxt" einfach nochmal auf, dann solltest du theoretisch die nächste Zeile in "sTxt" drin haben.

Betrifft: oder der code aus diesem Thread
von: ralf_b
Geschrieben am: 28.11.2020 19:56:02

https://www.herber.de/forum/messages/1796008.html

Betrifft: AW: oder der code aus diesem Thread
von: Sergej
Geschrieben am: 28.11.2020 20:25:08

Hallo Ralf,

jetzt funktioniert es in der Kombination von deinem und Werners Antwort :-)

Vielen Dank!
ReadTXT()
Dim iFile As Integer
Dim sSearch As String, sTxt As String, sZeile As String
Dim sFile As String

iFile = FreeFile
sFile = "M:\projekte\2020\Import\Master.txt"
sSearch = "[/Main]"
Open sFile For Input As iFile
Do Until EOF(1)
   Input #iFile, sTxt
   If InStr(sTxt, sSearch) Then
      Input #iFile, sTxt
      sTxt = Replace(sTxt, "[", "")
      sTxt = Replace(sTxt, "]", "")
      MsgBox sTxt
      Input #iFile, sTxt
      MsgBox Split(sTxt, ",")(0)
      Exit Do
   End If
Loop
Close iFile
End Sub
Beste Grüße,
Sergej

Beiträge aus dem Excel-Forum zum Thema "Bestimmte Werte aus der Datei auslesen?"