Einfügen von Webinhalten (bezogen auf bestimmte Tabellen)

Hallo Zusammen,

folgendes Problem: Ich möchte aus der Seite: http://www.weltfussball.de/wettbewerb/arg-primera-di… automatisch die jeweils aktuelle Tabelle ins Excell abrufen. Der Befehl „web inhalte EInfügen“ ermöglicht es mir aber nur den gesamten Seiteninhalt abzurufen. Hat jemand eine Idee was ich tun kann, damit Excell mir lediglich die Inhalte der Tabelle aktualisiert?

Schonmal Danke im Voraus.

Hallo dark,

http://www.weltfussball.de/wettbewerb/arg-primera-di…
automatisch die jeweils aktuelle Tabelle ins Excell abrufen.

ich glaub offiziell geht das wohl nicht, schau was dazu Thomas sagt:
http://computer.wer-weiss-was.de/tabellenkalkulation…

Wahrscheinlich gilt das auch für 2010.

Aber geb die Hoffnung nicht auf, mir ist zwar an dortiger Stelle Heikes Antwort neu aber sie sagt es richtig.
Denn in meinem geliebten XL 2000 kann ich sehr wohl auf nur Tabellen zugreifen.
Und das läuft dann wohl auch in sogenannten höheren Versionen.

Schau mal hier:
http://www.wer-weiss-was.de/sport/wm-spielplan-fuer-…
Da habe ich was gebastelt um eine Seite auslesen zu lassen.
Ist eine andere Webseite aber das ist erstmal egal.

Mir gehts darum , grad bei der letzten Mappe, kannst du da mit XL 2010, damit was anfangen? Z.B. auf Aktualisieren o.ä. klicken und es wird getan, und nur die Tabelle.

Probiere halt mal, nimm dir das Blatt Tab1,
das holt die Daten der ersten Tabelle auf der Webseite, ändere da mal den namen der URL.
Klappt das? Berichte bitte.

Gruß
Reinhard

Hallo

ich hab die Tabelle auf der Website kopiert
und sie in exel eingefügt. ganz einfach !

probiers nochmal
gruß
schlau99

2010 Webabfrage soll nur bestimmte Tabellen aus Webseite holen

http://www.weltfussball.de/wettbewerb/arg-primera-di…
automatisch die jeweils aktuelle Tabelle ins Excell abrufen.
Der Befehl „web inhalte EInfügen“ ermöglicht es mir aber nur
den gesamten Seiteninhalt abzurufen. Hat jemand eine Idee was
ich tun kann, damit Excell mir lediglich die Inhalte der
Tabelle aktualisiert?

Hallo Dark,

ich finde da nur zwei in Frage kommende Tabellen, in der von mir hochgeladenen Mappe:
http://www.file-upload.net/download-8245419/kwfussba…
hat die linke Tabelle den Index 1, die rechte den Index 3, welche davon willste denn?

Ich habe XL 2007. Nach Öffnen der Mappe muß ich eine Sicherheitswarnung mit Ok bestätigen, XL warnt mich davor daß da auf fremde Webseiten durch die Webafrage zugegriffen wird.
K.A. ob man das irgendwo in den Optionen deaktivieren kann mit der Warnung.

Derzeit aktualisiert die Tabelle Primera jede Minute und beim mappen öffnen (naja, wahrscheinlich nich wg. der Warnung)
Das ist nur zum Testen auf eine Minute gesetzt.
Lösche einfachmal so 10 Zeilen in dem Blatt und warte eine Minute, dann siehste ja ob aktualisiert wird…

Erstellt habe ich die xls mit XL 2000, in XL 2007 dann in .xlsx umgwandelt.

Gruß
Reinhard

Hallo Reinhard,

danke für den Tip. Werd mich heute Nachmittag mal dransetzen und berichten.

Gruß,
Chris

Ja genau so! Die rechte brauch ich (Index 3). Wie hast du das hinbekommen?

Zeigt der Excell Befehl „Externe Daten aus dem Web Einfügen“ bei dir die beiden Tabellen einzeln an? Bei mir zeigt er nur die Gesamtseite als wählbar an und ich muss beide Tabellen mit sämtlichen anderen Schrott übernehmen.

Hallo Darkbaron,

Ja genau so! Die rechte brauch ich (Index 3). Wie hast du das
hinbekommen?

an sich plump :smile: Ich weiß nämlich nicht wie ich (ohne jetzt den ganzen WEbseitencode zu durchsuchen per Vba) herausbekomme vieviele Tabellen da auf einer Seites isnd, geschweige denn welchen Index 1-x sie haben, noch deren Namen.
Die sind wichtig um sie per Vba einzeln anzusprechen oder auch manuell bei Webabfragen.

Ich habe einfach ähnlichen Code wie in der einen datei benutzt, einfach von 1 bis 50
Blätter anlegen lassen, auf Blatt Tab1 war dann die Webanfrage zur dortigen tabelle 1, auf Tab2 die zu tabelle2 usw.

Gibt es keine 50 ste Tabelle in der Seite so bleibt Tab50 leer, aber es kommt keine Fehlermeldung. Tja dann halt manuell geschaut in welchem Blatt steht was.
Hier sah ich, nur in Blatt Tab1 und Tab3 steht etwas Tabellenartiges.
Dann habe ich für dich im Code nur Tabelle 1 und 3 auflisten lassen in Excel.

Im nachfolgenden Code wird wie du willst nur Tabelle 3 ausgelesen.

Zeigt der Excell Befehl „Externe Daten aus dem Web Einfügen“
bei dir die beiden Tabellen einzeln an? Bei mir zeigt er nur
die Gesamtseite als wählbar an und ich muss beide Tabellen mit
sämtlichen anderen Schrott übernehmen.

Nein. In XL 2007 kann ich auch keine einzelnen Tabellen manuell bestimmen/eingeben. Aber ich habe in XL 2000 ein Makro aufzeichnen lassen während ich eine Webabfrage erstellte.
Im Zuge der Erstellung kommt dann dieses Fenster:
http://www.pic-upload.de/view-21212779/Webabfrage200…

Das alles kann ich ausfüllen, anklicken. WÜßTE ich den Tabellindex oder den Tabellennamen könnte ich ja wie es dort steht die einzeln oder mehrere in dem Fenster kommagetrennt eintragen.
Oder ich hake an „Nur tabellen“.

Unten im Bild siehste ja was man da noch auswählen kann, brauchst du nur die Tabellendaten und nicht die Vereinsnamen als Hyperlinks zur Vereinshomepage, nimm „Nur Text“,

Dein XL 2010 hat wohl wie XL 2007 bei Webabfragenerstellung vergessen einzubauen daß man Tabellen auswählen kann.
Ist für dich jetzt nicht weiter tragisch. Denn meinen Code haste ja und den versteht auch deine Version korrekt.

Willst du an der Webabfrage was abändern, so ändere das halt im Code direkt um.
Ist halb so wild wie es wohl wirkt. Mit ein bißchen Englisch kann man sich vieles erdenken was es bedeutet. Angenommen du willst wie eben gesagt die Daten nur in Textform.
Aha, das wird ja was mit Format sein o.ä.

WebFormatting = xlWebFormattingAll
sieht doch gut aus. Sicherheitshalber setzt du den Cursor in das Wort "
WebFormatting" und drückst F1.
Die Hilfe bestätigt daß du das richtige erwischt hast und nennt dir auch die drei Möglichkeiten in Vba, analog zur Auswahl in meinem Bild was du da als Wert für WebFormatting angeben kannst:

xlAll, xlNone oder xlRTF.

Ich find leicht zu erraten was Nur Text sein könnte, was RichTextFormat sein könnte was All sein könnte.
Derart kannst du alle Befehle durchprüfen was sie bedeuten.
Und nochmal zur Verdeutlichung, Eine alte Version
Option Explicit

Sub Erstellen2()
Dim N As Integer, S, Zei As Long
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Worksheets(„Primera“).Delete
On Error GoTo 0
Application.DisplayAlerts = True
Worksheets.Add after:=Worksheets(Worksheets.Count)
With ActiveSheet
.Name = „Primera“
Set S = .QueryTables.Add(Connection:= _
„URL;http://www.weltfussball.de/wettbewerb/arg-primera-di…“, _
Destination:=.Cells(1, 1))
With S
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = False
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingAll
.WebTables = 3 '3 = dritte Tabelle der Seite
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.Refresh BackgroundQuery:=False
.Name = „ExterneDaten_1“
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = False
.RefreshOnFileOpen = True ’ Aktualisiert Daten beim MappenÖffnen
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 60 ’ aktualisiert alle x min. automatisch
End With
.Columns(„A:stuck_out_tongue:“).Columns.AutoFit
End With
Application.ScreenUpdating = True
End Sub

1 Like

Perfekt! Tausend Dank! Ich kenn mich zwar nicht die Bohne in VBA Programmierung aus, aber mit ein bisschen try & error klappts bestimmt!

Dein Code funktioniert auf jeden Fall auch bei XL 2010 einwandfrei.

Vielen Dank nochmal!

Gruß, Chris

Hallo Chris,

Dein Code funktioniert auf jeden Fall auch bei XL 2010
einwandfrei.

schön daß es funktioniert, denn ich traue aus Gründen bei MS dem Abwärtskompatibel nicht so ganz. D.h., da ich nur XL 2007 habe kann ich zwar schon meine xls aus XL 2000, was ich auch habe, testen. Was in XL 2010, XL 2013 geschieht oder nicht entzieht sich meiner Kenntnis.

Ich kenn mich zwar nicht die Bohne in
VBA Programmierung aus, aber mit ein bisschen try & error
klappts bestimmt!

Ich zeige dir dazu noch ein Bild der Möglichkeiten die man in XL 2000 hat um z.B. die Zeitintervalle der Aktualisierung u.ä. festzulegen:
http://www.pic-upload.de/view-21215330/webafragedate…

Der Code dazu steckt auch in meinem Code drin. Wie gesagt, mit Cursor reinstellen und F1 usw. kriegste schon raus wo im Code das steht was du da im Bild an Auswahlen usw. siehst.

Vielen Dank nochmal!

Wenn dir diese Aussage ernst ist dann revanchiere dich für meine „gute Tat“.
Eile nicht durch die Strassen sondern schau ob jmd. Hilfe braucht. Klassisch, ältere Herrschaften wo man schon sieht daß die mühsam ihre Einkaufstüten tragen.
Lauf nicht wie evtl. sonst vorbei, sprich sie nett an und biete ihnen deine Hilfe an.

Spendier wenn es bald sehr kalt wird, Personen die so aussehen als ob sie es brauchen würden bei dem Frost mal Kaffee. Vorher selbstverständlich sehr höflich erst danach fragen ob es auch gewollt wird und angenommen wird.

Oder, oder, es gibt im reichen Deutschland genug zu tun im Sinne von jedem Tag eine gute Tat Und Kleinvieh macht auch Mist.
.
Gruß
Reinhard

Ich zeige dir dazu noch ein Bild der Möglichkeiten die man in
XL 2000 hat um z.B. die Zeitintervalle der Aktualisierung u.ä.
festzulegen:
http://www.pic-upload.de/view-21215330/webafragedate…

Der Code dazu steckt auch in meinem Code drin. Wie gesagt, mit
Cursor reinstellen und F1 usw. kriegste schon raus wo im Code
das steht was du da im Bild an Auswahlen usw. siehst.

Passt! Hab schon einige Kommentierungen hinzugefügt, um es leichter anpassen zu können.

Wenn dir diese Aussage ernst ist dann revanchiere dich für
meine „gute Tat“.
Eile nicht durch die Strassen sondern schau ob jmd. Hilfe
braucht. Klassisch, ältere Herrschaften wo man schon sieht daß
die mühsam ihre Einkaufstüten tragen.
Lauf nicht wie evtl. sonst vorbei, sprich sie nett an und
biete ihnen deine Hilfe an.

Spendier wenn es bald sehr kalt wird, Personen die so aussehen
als ob sie es brauchen würden bei dem Frost mal Kaffee. Vorher
selbstverständlich sehr höflich erst danach fragen ob es auch
gewollt wird und angenommen wird.

Oder, oder, es gibt im reichen Deutschland genug zu tun im
Sinne von jedem Tag eine gute Tat Und Kleinvieh macht auch
Mist.
.

Ich werds berücksichtigen. Bin zwar jetzt auch nicht gerade ein Unmensch, was Nachbarschaftshilfe angeht, aber es ist natürlich immer Luft nach oben :smile: