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

Forumthread: Aktienkurse per Makro aktualisieren

Aktienkurse per Makro aktualisieren
Excel-Beginner
Hallo liebe Excel-Profis,
ich bin mal wieder auf eure Hilfe angewiesen.
Die Datei ist hochgeladen unter https://www.herber.de/bbs/user/78759.xlsm
Im Reiter "Depot" befindet sich die Depotübersicht.
Per Makro möchte ich aus dem Web die aktuellen Aktienkurse in den Reiter "Kurse" importieren.
Das Makro ist mit dem Button im Reiter "Depot" verknüpft.
Wenn ich ausführe, zieht er sich die aktuellen Kurse, allerdings greift dann in der Depotübersicht der Sverweis ins leere (#Bezug). -->Reiter "Depot", Spalte E, Zeile 4-6.
Ich bin ratlos und hoffe auf eure Hilfe.
Vielen Dank vorab und Gruss,
Andi
hier noch das Makro:

Sub AktienkurseLaden()
' AktienkurseLaden Makro
' Tastenkombination: Strg+Umschalt+K
Sheets("Kurse").Select
Columns("A:BQ").Select
Selection.Delete Shift:=xlToLeft
Range("A1").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.boerse.de/kurse/DAX-Aktien/DE0008469008", Destination:=Range( _
"$A$1"))
.Name = "DE0008469008"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = """pushList"""
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
Sheets("Depot").Select
Range("A23").Select
End 

Sub


		
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Aktienkurse per Makro aktualisieren
06.02.2012 16:29:22
Rudi
Hallo,
...der Sverweis ins leere (#Bezug).
dann lösch doch nicht die Spalten sondern nur die Werte.
Gruß
Rudi
Anzeige
AW: Aktienkurse per Makro aktualisieren
06.02.2012 16:42:48
Excel-Beginner
Hi Robert / Rudi,
perfekt, vielen Dank für eure schnelle Hilfe, hat funktioniert.
Gruss, Andi
Anzeige
Anzeige

Infobox / Tutorial

Aktienkurse in Excel automatisch aktualisieren


Schritt-für-Schritt-Anleitung

Um Aktienkurse in Excel zu importieren und die Depotübersicht zu aktualisieren, kannst du das folgende VBA-Makro verwenden. Dieses Beispiel nutzt die Excel-Version, die Makros unterstützt (z.B. Excel 2010 und neuer).

  1. Öffne deine Excel-Datei und gehe zu dem Reiter, wo du die Depotübersicht hast.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  4. Kopiere und füge das folgende Makro ein:

    Sub AktienkurseLaden()
       Sheets("Kurse").Select
       Columns("A:BQ").Select
       Selection.Delete Shift:=xlToLeft
       Range("A1").Select
       With ActiveSheet.QueryTables.Add(Connection:= _
       "URL;http://www.boerse.de/kurse/DAX-Aktien/DE0008469008", Destination:=Range( _
       "$A$1"))
           .Name = "DE0008469008"
           .FieldNames = True
           .RowNumbers = False
           .FillAdjacentFormulas = False
           .PreserveFormatting = True
           .RefreshOnFileOpen = False
           .BackgroundQuery = True
           .RefreshStyle = xlInsertDeleteCells
           .SavePassword = False
           .SaveData = True
           .AdjustColumnWidth = True
           .RefreshPeriod = 0
           .WebSelectionType = xlSpecifiedTables
           .WebFormatting = xlWebFormattingNone
           .WebTables = """pushList"""
           .WebPreFormattedTextToColumns = True
           .WebConsecutiveDelimitersAsOne = True
           .WebSingleBlockTextImport = False
           .WebDisableDateRecognition = False
           .WebDisableRedirections = False
           .Refresh BackgroundQuery:=False
       End With
       Sheets("Depot").Select
       Range("A23").Select
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu deinem Arbeitsblatt.

  6. Füge einen Button hinzu und verlinke ihn mit dem Makro, um die Aktienkurse automatisch zu aktualisieren.


Häufige Fehler und Lösungen

  • Problem: Sverweis gibt #Bezug-Fehler zurück.

    • Lösung: Stelle sicher, dass du nicht die gesamten Spalten, sondern nur die Werte in den Spalten löschst. Ändere die Zeile Columns("A:BQ").Select zu Range("A1:BQ100").ClearContents.
  • Problem: Die Daten werden nicht aktualisiert.

    • Lösung: Überprüfe die URL im Makro, um sicherzustellen, dass sie korrekt ist und die Seite keine Änderungen erfahren hat.

Alternative Methoden

  • Power Query: Wenn du eine Excel-Version hast, die Power Query unterstützt, kannst du damit ebenfalls Aktienkurse importieren. Gehe zu Daten > Daten abrufen > Aus anderen Quellen > Aus dem Web und gib die URL ein.
  • Excel-Add-Ins: Es gibt verschiedene Add-Ins, die speziell für den Import von Börsenkursen entwickelt wurden und die eine benutzerfreundliche Oberfläche bieten.

Praktische Beispiele

Wenn du den Aktienkurs von Apple importieren möchtest, kannst du das Makro wie folgt anpassen:

With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.boerse.de/kurse/AAPL", Destination:=Range("$A$1"))

Ersetze einfach die URL mit der deines gewünschten Aktienkurses.


Tipps für Profis

  • Automatische Aktualisierung: Du kannst das Makro so einrichten, dass es beim Öffnen der Datei automatisch ausgeführt wird. Füge dazu die Zeile Call AktienkurseLaden in das Workbook_Open-Ereignis ein.
  • Fehlerprotokoll: Füge eine Fehlerbehandlung in dein Makro ein, um Probleme während der Ausführung zu protokollieren.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Aktienkurse gleichzeitig importieren?
Du kannst mehrere URL-Queries in deinem Makro erstellen. Kopiere und füge die With ActiveSheet.QueryTables.Add-Sektion für jede Aktie hinzu.

2. Funktioniert das Makro in allen Excel-Versionen?
Das Makro ist für Excel 2010 und neuere Versionen geeignet. Ältere Versionen unterstützen möglicherweise nicht alle Funktionen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige