Daten von Website in Excel importieren
Schritt-für-Schritt-Anleitung
Um Daten von einer Website in Excel zu importieren, kannst Du ein VBA-Makro verwenden. Hier sind die grundlegenden Schritte:
-
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu starten.
-
Füge ein neues Modul hinzu:
- Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)" und wähle "Einfügen" > "Modul".
-
Kopiere den folgenden VBA-Code in das Modul:
Sub WebGetData()
Dim url As String
Dim destination As String
Dim lDownloadErfolgreich As LongPtr
url = "http://performance.morningstar.com/stock/performance-return.action?t=ABBN®ion=che&culture=en-US"
destination = "C:\DeinPfad\Daten.csv" ' passe den Pfad an
lDownloadErfolgreich = URLDownloadToFile(0, url, destination, 0, 0)
If lDownloadErfolgreich = 0 Then
MsgBox "Download erfolgreich!"
Else
MsgBox "Download fehlgeschlagen!"
End If
End Sub
-
Führe das Makro aus:
- Drücke
F5
oder gehe zu "Run" > "Run Sub/UserForm".
-
Importiere die CSV-Datei in Excel:
- Gehe zu "Daten" > "Aus Text/CSV" und wähle die heruntergeladene Datei aus.
Das Makro verwendet die URLDownloadToFile
-Funktion, um Daten von der angegebenen URL herunterzuladen. Achte darauf, den Zielpfad anzupassen.
Häufige Fehler und Lösungen
-
Fehler: "URLDownloadToFile nicht gefunden"
Stelle sicher, dass Du die LongPtr
-Deklaration verwendest, wenn Du eine 64-Bit-Version von Excel hast.
-
Fehler: "Excel Daten aus dem Web funktioniert nicht"
Überprüfe die URL auf Richtigkeit und sicher, dass die Website die Daten im gewünschten Format bereitstellt.
-
Leere Tabellen nach dem Import
Dies kann an börsenfreien Tagen liegen, an denen keine Daten verfügbar sind. Überprüfe die importierten Daten auf solche Einträge.
Alternative Methoden
Neben VBA gibt es auch andere Methoden, um Daten aus dem Internet in Excel zu importieren:
-
Power Query: Ab Excel 2010 verfügbar, ermöglicht es Dir, direkt aus dem Web Daten abzufragen. Gehe zu "Daten" > "Abrufen und Transformieren" > "Aus dem Web".
-
Webabfragen: In Excel kannst Du über "Daten" > "Abfragen" > "Aus dem Web" eine einfache Verbindung zu einer Website herstellen, um Tabellen zu importieren.
Praktische Beispiele
Hier sind einige spezifische Beispiele zur Verwendung von VBA:
-
Importiere Yahoo Finance Daten:
Sub ImportYahooFinance()
Dim stockSymbol As String
stockSymbol = "BMW.DE"
Dim query As String
query = "http://ichart.finance.yahoo.com/table.csv?s=" & stockSymbol
' URLDownloadToFile und weitere Logik hier einfügen
End Sub
-
Daten aus HTML in Excel importieren:
Sub ImportHTMLData()
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = False
ie.Navigate "http://de.wikipedia.org/wiki/Bayern-Landshut"
' Warte, bis die Seite geladen ist
Do While ie.Busy Or ie.ReadyState <> 4
DoEvents
Loop
' Hier den HTML-Inhalt verarbeiten
ie.Quit
Set ie = Nothing
End Sub
Tipps für Profis
-
Verwende Error Handling: Füge Error-Handling in Deinem Code hinzu, um Probleme beim Download zu vermeiden und leere Tabellen zu erstellen, wenn der Download fehlschlägt.
-
Automatisiere den Prozess: Plane das Makro als regelmäßigen Task ein, um die Daten täglich zu aktualisieren.
-
Optimiere den Code: Verwende Funktionen wie Application.ScreenUpdating = False
, um die Bearbeitung zu beschleunigen, wenn Du große Datenmengen verarbeitest.
FAQ: Häufige Fragen
1. Wie kann ich sicherstellen, dass mein Makro auf 64-Bit Excel funktioniert?
Verwende die LongPtr
-Deklaration für Variablen, die mit URLDownloadToFile
arbeiten.
2. Gibt es eine Möglichkeit, Daten von verschiedenen Webseiten zu importieren?
Ja, Du kannst eine Schleife erstellen, die durch verschiedene URLs iteriert und die Daten für jede URL herunterlädt.
3. Kann ich die heruntergeladenen Daten automatisch formatieren?
Ja, Du kannst nach dem Importieren der Daten VBA-Befehle verwenden, um die Formatierung der Zellen anzupassen.