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

Daten von Webseit auslesen

Daten von Webseit auslesen
21.11.2013 15:21:12
Webseit
Guten abend,
ich möchte gern aus 200 Internet Seiten Daten in Excel auslesen. Die Tabelle dazu habe ich hier:
https://www.herber.de/bbs/user/88189.xlsm
Der Quellcode läuft auch, jedoch bekomme ich nicht die Infos von der Seite in meine Liste. Aus den Infos möchte ich dann nur einen Teil in einer Ergbins Tabelle abspeichern.
Hat vielleicht jemand einen Tip, was ich wo falsch mache. Vielen herzlichen Dank.
Jens König

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Und welchen Teil bitte? (owT)
21.11.2013 18:07:21
EtoPHG

AW: Daten von Webseit auslesen
22.11.2013 08:57:38
Webseit
guten morgen,
wenn ich im Excel über Daten/Aus dem Web und dann eine der Adressen eingebe, dann wird der Bereich kopiert der im Tabellenblatt Kopieren steht.
Eine Fehlermeldung im Macro war jedoch, das die Werte von der Webseite auf dem Tabellenblatt sein müssen, deshalb habe ich versucht es auf dem Tabellenblatt Adressen ab Zelle F15 einfügen zu lassen und von dort auslesen zu lassen.
Bin für jeden Hinweis dankbar.
Vielen Dank
jens

AW: Daten von Webseit auslesen
22.11.2013 09:41:46
Webseit
Hallo Jens,
Deine Erklärungen drehen sich irgendwie im Kreis, kommen aber nicht auf den Punkt!
Beschreibe nicht (nur), was du für Fehler hast, sondern was du genau willst! Es ist sehr mühsam aus einem mit dem Makrorekorder aufgezeichneten Code herauszufinden, was der Aufzeichner genau machen wollte. Du schreibst, dass du nur einen Teil der Daten in ein anderes Blatt kopieren ("Ergebnis") willst. Du erklärst aber nicht welche Teile aus der Quelle wohin ins Ziel sollen.
Beschreibe also welche Zeilennummern des Blatt "Kopieren" auf welchen Zeilen in das Blatt "Ergebnis" kopiert werden sollen.
Beschreibe wie die Daten mehrerer Gemeinden auf dem Blatt "Ergebnis" angeordnet werden sollen.
Sind noch zusätzliche Veränderungen an den eingelesesen Daten nötig? z.B. Hervorhebung gewisser Elemente?
Soll das Ergebnisblatt eine Titelzeile (Wo, welcher Inhalt) erhalten?
Zu deinem Code: Grundsätzlich musst du ein Query-Objekt nur genau einmal Addieren (Methode .Add).
Anschliessend können mit der Modifikation der Link-Adresse und einem .Refresh dieses Objekts die Daten einzelner Webseiten (in deinem Fall Gemeinden) ausgelesen werden.
Gruess Hansueli

Anzeige
AW: Daten von Webseit auslesen
22.11.2013 10:09:13
Webseit
Guten morgen nochmal,
Sorry ich das ich da wohl für Verwirrung sorge.
in der Excel Datei gibt es ein Arbeitsblatt "Adressen", hier sind ca. 200 Webseiten aufgelistet, die Informationen von Gemeinden anzeigen. Diese Seiten sind immer gleich aufgebaut und ich möchte Sie gern per Makro nacheinander aufrufen, den Inhalt komplett, am besten in Arbeitsblatt "Kopieren" ab B1 einfügen. Von diesen Informationen benötige ich dann die Inahlte aus B15; B19; B20; B21, B23; b24; B26, b28 und B30. Diese Inhalte sollen in tabellenblatt Ergebnis in die gleiche Zeile geschrieben werden wie der Zähler "r".
Danach die nächste Seite aufrufen. Das nachträgliche kopieren kann man sicherlich anders lösen. Mein Problem ist jedoch, das sich die Internet Seite nicht öffnet und der Kopiervorgang aus der Webseite startet. Ich habe da schon ein weile auch im Netzt nach einer Lösung gesucht, aber genau für meinen Fall war ich noch nicht erfolgreich, deshalb nun mein Eintrag hier.
Jens König

Anzeige
Es ist zum Haare raufen...
22.11.2013 12:07:16
EtoPHG
Jens,
du verfällst immer wieder in den gleichen Teufelskreis, oder was soll ich mit Zitat: "...in tabellenblatt Ergebnis in die gleiche Zeile geschrieben werden wie der Zähler "r"" und Zitat:"Das nachträgliche kopieren kann man sicherlich anders lösen. Mein Problem..." anfangen? Bitte überdenke nochmals deinen gewählten Excel/VBA Level!
Ich versuch mal, dich zu deinem Glück zu zwingen. ;-)
In deiner hochgeladenen Datei: Lösche deinen gesamten Code und ersetze ihn durch diesen:
Sub WegWerfen()
' Nach einmaligem Gebrauch löschen!
With ThisWorkbook.Worksheets("Kopieren").QueryTables(1)
If .Name  "WebAbfrage" Then
.Name = "WebAbfrage"
.BackgroundQuery = False
End If
End With
End Sub
Sub getAdressListe()
Dim rCell As Range
Dim lRowA As Long, lRowZ As Long
Dim wsA As Worksheet
Dim wsQ As Worksheet
Dim wsZ As Worksheet
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Set wsA = ThisWorkbook.Worksheets("Adressen")
Set wsQ = ThisWorkbook.Worksheets("Kopieren")
Set wsZ = ThisWorkbook.Worksheets("Ergebnis")
wsZ.UsedRange.Clear
wsZ.Cells(1, 1) = "Gemeinde-Name"
wsZ.Cells(1, 2) = "Anschrift 1"
wsZ.Cells(1, 3) = "Anschrift 2"
wsZ.Cells(1, 4) = "Anschrift 3"
wsZ.Cells(1, 5) = "Anschrift 4"
wsZ.Cells(1, 6) = "Anschrift 5"
wsZ.Cells(1, 7) = "Telefon:"
wsZ.Cells(1, 8) = "E-Mail:"
wsZ.Cells(1, 9) = "Homepage:"
lRowZ = 2
For lRowA = 2 To wsA.Cells(wsA.Rows.Count, 2).End(xlUp).Row
Application.StatusBar = "Abfrage Gemeinde: " & wsA.Cells(lRowA, 2)
With wsQ.QueryTables("WebAbfrage")
.Connection = "URL;http://www.statistik.baden-wuerttemberg.de/Online-Verzeichnisse/Gem.asp?G=" & _
_
wsA.Cells(lRowA, 4).Text
.Refresh BackgroundQuery:=False
End With
wsZ.Cells(lRowZ, 1) = wsQ.Cells(15, 2).Text
wsZ.Cells(lRowZ, 2) = wsQ.Cells(19, 2).Text
wsZ.Cells(lRowZ, 3) = wsQ.Cells(20, 2).Text
wsZ.Cells(lRowZ, 4) = wsQ.Cells(21, 2).Text
If InStr(wsQ.Cells(23, 2).Text, wsZ.Cells(1, 7)) Then
wsZ.Cells(lRowZ, 7) = Replace(wsQ.Cells(23, 2).Text, wsZ.Cells(1, 7), "")
Else
wsZ.Cells(lRowZ, 5) = wsQ.Cells(23, 2).Text
wsZ.Cells(lRowZ, 6) = wsQ.Cells(24, 2).Text
wsZ.Cells(lRowZ, 7) = Replace(wsQ.Cells(26, 2).Text, wsZ.Cells(1, 7), "")
End If
wsZ.Cells(lRowZ, 8) = Replace(wsQ.Cells(28, 2).Text, wsZ.Cells(1, 8), "")
wsZ.Cells(lRowZ, 9) = Replace(wsQ.Cells(30, 2).Text, wsZ.Cells(1, 9), "")
lRowZ = lRowZ + 1
Next lRowA
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.StatusBar = False
End Sub
Die Prozedur "WegWerfen" einmal aufrufen. Anschliessend kannst du deren Codezeilen löschen.
Die Prozedur "getAdressListe" aufrufen und das "Ergebnis" anschauen. Die Prozedur kann beliebig oft wiederholt werden, insbesondere, wenn sich etwas auf dem Blatt "Adressen" ändert.
Gib bitte eine Rückmeldung, ob das Ergebnis ungefähr deinen Erwartungen entspricht.
Gruess Hansueli

Anzeige
AW: Es ist zum Haare raufen...
22.11.2013 12:45:28
Jens
Hallo Hansueli,
trotz aller Verwirrung, Teufelskreise und Probleme ist deine Lösung genau das Sagenhafte Tool, was ich seit Tagen versuche zu erzeugen. Eine Super Lösung für mein Problem.
Vielen herzichen Dank an den wirklichen Profi.
Jens König

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige