Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Finde den Index in einem Array

Forumthread: Finde den Index in einem Array

Finde den Index in einem Array
20.02.2017 07:51:22
Stefan
Hallo zusammen,
ich dreh mich im Kreis.
Ich möchte den Quelltext einer Website in ein Array laden. In diesem Array möchte ich einen String finden und die nächste Zahl in eine Zelle schreiben.
Aktuell habe ich das Array hinbekommen aber schaffe es nicht den Index des SuchSTR zu finden.
Bevor ich Hier eine riesen Diskussion anstoße, hat jemand so einen Code auf Lager der die oben beschriebene Funktion kann?
Das wäre sehr nett.
Danke.
MfG
Stefan
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: for - next
20.02.2017 08:41:18
Fennek
Hallo,
etwas geraten:

Fen = Array des Webseite
for i = 0 to ubound(Fen)
if instr(Fen(i), "SuchWort") > 0 then exit for
next i
msgbox Fen(i)
mfg
(ungeprüft)
AW: for - next
20.02.2017 10:13:32
Stefan
Hallo Fennek,
vielen Dank für deine Antwort. Mir wird eher Klar, dass das Problem noch im Schritt vorher liegt.
Die Website ist mit Tabellen strukturiert. Meine ZielWerte Stehen zwischen & inmitten der Seite.
Es ist wohl eher zu klären wie ich die Seite so in ein Array aufgeteilt bekomme das ich den Index des Suchstring bekomme und den Inhalt des nachfolgenden Elements ausgeben kann.
Gruß
Stefan
Anzeige
AW: for - next
20.02.2017 17:13:51
Michael
Hi,
so etwas Ähnliches hatten wir erst vor ein paar Tagen; Du schreibst möchte ich einen String finden und die nächste Zahl übernehmen.
Teste mal:
Option Explicit
Sub ausDemWeb()
Dim objXMLHTTP As Object
Dim sURL As String, sErg As String, sSuch As String
Dim pLi As Long, pRe As Long, sSuchLen As Long
sSuch = "Liebe "
sSuchLen = Len(sSuch)
sURL = "https://www.herber.de"
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
objXMLHTTP.Open "GET", sURL, False
objXMLHTTP.Send
If objXMLHTTP.Status  200 Then
MsgBox "Status  200: " & objXMLHTTP.Status
Set objXMLHTTP = Nothing
Exit Sub
End If
sErg = objXMLHTTP.ResponseText
Set objXMLHTTP = Nothing
pLi = InStr(1, sErg, sSuch, vbTextCompare) ' groß/klein = egal
If pLi = 0 Then MsgBox sSuch & " nicht gefunden.": Exit Sub
pLi = pLi + sSuchLen - 1
pRe = InStr(pLi, sErg, " 0 Then
sErg = Mid(sErg, pLi, pRe - pLi)
MsgBox "Hier der gesuchte Teil: " & sErg
End If
End Sub

Wenn Du komplette tables haben willst, kannst Du nach den entsprechenden Tags suchen, also abwechselnd nach <table xxx und </table xxx.
Ansonsten wäre ein link zu der Seite oder eine Beispiel-htm-Seite (am besten in ein Zip gesteckt) hilfreich...
Gruß,
Michael
Anzeige
AW: for - next
20.02.2017 17:17:30
Stefan
Ich Danke euch. Problem erkannt und gelöst. Wie immer sehr nett von euch. An dieser Stelle mal ein Kompliment an alle die sich hier so klasse um die User mit den Fragen kümmern.
Gruß
Stefan
danke - gern geschehen & Gruß zurück owT
23.02.2017 17:45:03
Michael
M.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige