Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1280to1284
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

Zellbezug einbauen - aus Textdatei einlesen

Zellbezug einbauen - aus Textdatei einlesen
05.10.2012 20:06:52
Wolfgang
Hallo,
auf dem Desktop befindet sich die Textdatei "test", die aus HTML jeweils einen Quellcode enthält. Wie kann ich den folgenden Code, den ich unter Recherche fand, abändern, so dass die Textdatei auf Desktop angesprochen wird. Weiterhin würde ich gerne für die jeweiligen Suchbegriffe, wie z.B. im Code unter b und d beschrieben (vorderen und hinteren Teil suchen) erreichen, dass die Suchbegriffe aus jeweils einer Zelle entnommen werden. b = InStr(txteingelesen, "href=") z.B. aus Tabelle Daten C5 und d = InStr(c, ">") z.B. aus Tabelle Daten E5 und der gefundene Suchbegriff dann in D5 eingefügt wird. Könnte so etwas denkbar/realisierbar sein? - Was bedeutet genau b = b + 6 oder d = d - 2 in dem Code bzw. was bewirkt der Teil? - Danke schon jetzt für die Rückmeldungen.
Herzliche Grüße - Wolfgang
Dim a As Long
Dim b As Long
Dim c As String
Dim d As Long
Dim e As String
Dim datei As String
Dim zeilen As String
Dim linkvar As String
Dim titelvar As String
Private Sub cmdstart_click()
datei = "test.txt"
Open datei For Input As 2
Do Until EOF(2) = True
Line Input #2, zeilen
txteingelesen.Text = txteingelesen.Text & zeilen & vbCrLf
Loop
Close 2
'****** Erstes Textstück suchen
a = Len(txteingelesen)
b = InStr(txteingelesen, "href=") 'den vorderen Teil suchen
b = b + 6 'höhe kommt auf den Suchstring an
c = Mid(txteingelesen, b, a - b)
d = InStr(c, ">") 'den hinteren Teil suchen
d = d - 2 'höhe kommt auf den Suchstring an
e = Left(c, d)
'von hier aus kann "txteingelesen" die Daten von "c" übergeben bekommen
'also
txteingelesen.Text = c
'und das suchergebnis "e" an eine variable übergeben
linkvar = e
'dann wird ab der Stelle "c" weitergesucht
'zum Beispiel mit diesem weiterführenden Code
'****** Nächstes Textstück suchen
a = Len(txteingelesen)
b = InStr(txteingelesen, ">") 'den vorderen Teil suchen
b = b + 1 'höhe kommt auf den Suchstring an
c = Mid(txteingelesen, b, a - b)
d = InStr(c, "

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

Betreff
Datum
Anwender
Anzeige
AW: Zellbezug einbauen - aus Textdatei einlesen
08.10.2012 17:38:05
ChrisL
Hi Wolfgang
Ohne den Code weiter zu hinterfragen...
1.
strSuchbegriff = Worksheets("Daten").Range("C5")
b = InStr(txteingelesen, strSuchbegriff)
2.
d = InStr(c, ">") z.B. aus Tabelle Daten E5
Der Schlusstag ">" ist immer gleich, warum also aus der Tabelle. Ansonsten wie unter 1.
3.
strErgebnis = e
Worksheets("Daten").Range("D5") = strErgebnis
4.
Mit InStr(texteingelesen, "href=") suchst du die Position (eine Nummer) innerhalb eines Text-Strings. Es interessiert aber nicht der HTML-Tag, sondern das was darauf folgt. href="XXX" die Suche ergibt also die Position von "h", aber du willst eigentlich das "X" und href=" sind 6 Zeichen die zur Position hinzugefügt werden sollen.
(Etwas verwirrend in diesem Fall ist, dass das Zeichen " in der Textdatei als Text-Zeichen zu verstehen ist und nicht wie in VBA als Beginn/Ende von einem String)
cu
Chris

Anzeige
AW: Zellbezug einbauen - aus Textdatei einlesen
08.10.2012 19:57:58
Wolfgang
Hallo Chris,
Danke für Deine Rückantwort und Deine Hinweise/Erläuterungen, die ich, so hoffe ich, entsprechend umsetzen kann (werde mich auf jeden Fall intensiv damit befassen). Zunächst noch eine ergänzende Frage. Ich habe am Wochende noch weiter "herumgewühlt" und bin zum Ergebnis gekommen, den Quelltext direkt in die Arbeitsmappe Tabelle3 zu importieren. Hast Du eine Idee, wie ich nun anstelle einer Textdatei die Tabelle3 ansprechen kann? - Danke schon jetzt wieder für Deine Rückantwort.
Gruß - Wolfgang

AW: Zellbezug einbauen - aus Textdatei einlesen
08.10.2012 21:58:30
ChrisL
Hi Wolfgang
Tabelle "ansprechen" geht so...
Worksheets("Tabelle3").Activate
Zelle..
MsgBox Worksheets("Tabelle3").Range("A1")
Probier auch einfach mit dem Makrorekorder und schau dir nachher den Code an.
Gruss
Chris

Anzeige
Danke Chris - funktioniert prima
09.10.2012 05:57:43
Wolfgang
Hallo Chris,
erneut danke für Deine schnelle Rückmeldung. Das Ansprechen der Tabelle habe ich soweit eingebaut, es funktioniert einwandfrei. Mit den anderen Fragen bzw. Deinen Hinweisen befasse ich mich momentan noch weiter. Nochmals herzlichen Dank.
Gruß - Wolfgang

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige