Value Investing Scanner — die mehrteilige Version

Nun habe ich den bisherigen Entwurf auseinandergenommen und wie angekündigt ein Tool daraus gebaut, mit dem man jeweils eine ganze Liste von Aktien abarbeiten kann.

Das Ganze besteht aus der „Maschine“ (Excel-Datei mit Makros), der Aktienliste (Excel-Datei mit ISINs, Bezeichnungen usw.) und einem Datenordner. In letzterem landen die durch die Makros der Maschine erzeugten Datenblätter ebenfalls in Form von Excel-Dateien.

Ich erkläre, wie der Value Investing Scanner funktioniert bzw. benutzt wird und zeige dazu die einzelnen Bestandteile.

Die Maschine

In der „Maschine“, also meiner Datei value-investing-scanner.xlsm sind die Tabellenblätter „Web“ und „Datenblatt“, die es auch schon im vorigen Entwurf gegeben hat. „Web“ ist ein Hilfsblatt, das für die Web-Abfragen benutzt wird. „Datenblatt“ ist die Vorlage für jede automatisch erzeugte Zusammenstellung der Daten zu jeweils einer Aktie. Dazu hatte ich schon in den vorigen Artikeln zum Value Investing Scanner geschrieben.

Neu hinzugekommen ist das Tabellenblatt „Einstellungen“. Hier müssen der Pfad zur Aktienliste und zum Datenordner, wohin die Datenblätter zu speichern sind, eingetragen werden. Die Aktienlisten-Datei sowie der Datenordner müssen natürlich existieren.

In der „Maschine“ befinden sich drei Makros:

  • A_Hole_alle_Daten
  • B_Hole_Daten_ab_ausgewaehlter_Zeile
  • C_Hole_Daten_zur_ausgewaehlten_Zeile

Die Makros tun genau das ihrem jeweiligen Namen Entsprechende. Mit „ausgewählter Zeile“ ist dabei eine Zeile in der Aktienliste gemeint.

Im Datenordner wird dabei zu jeder Aktie eine Datei angelegt mit dem Dateinamen ISIN.xlsx, wobei für ISIN die wirkliche ISIN der Aktie steht. Wenn es dort schon eine derartige Datei gibt, wird ein Datenblatt hinzugefügt, welches den Namen des aktuellen Datums in der Form JJJJ-MM-TT bekommt. Existiert ein solches bereits, werden die Daten darin überschrieben.

Die Aktienliste

Die Aktienliste enthält ein Tabellenblatt, das einen ganz bestimmten Aufbau haben muss. Die Daten in dieser Liste werden anhand von speziell benannten Zellen gefunden. Ich gebe hier jeweils die Überschrift und den Namen der entsprechenden Zelle in Klammern wieder.

  • ISIN (ISIN)
  • Bezeichnung (Bezeichnung)
  • URL bei ariva.de (URLAriva)
  • URL bei finanzen.net (URLFinanzen)
  • Währung, wenn nicht € (Waehrung)
  • Datum (Datum)
  • Status (Status)

Selbst ausfüllen muss man hier anfangs nur die Spalte ISIN und bei Bedarf die Währungsspalte. Ich zeige das mal am Beispiel der Aktien aus diesem Blog-Artikel: 10 Ideen fürs Dividendendepot (Sparen, anlegen, frei sein)

Beim ersten Lauf des Scanners werden die bei ariva.de sowie die bei finanzen.net verwendete URL und die Bezeichnung korrekt eingetragen. Dadurch geht der nächste Lauf dann schneller. Die Spalten „Datum“ und „Status“ werden durch die Makros automatisch immer neu gesetzt. Man sieht daran, ob alles geklappt hat, oder was schief gegangen ist. Der Status ist nach dem Lauf jeweils auf die dazugehörige Datenblatt-Datei verlinkt.

Nach dem Lauf des Makros A_Hole_alle_Daten sieht die Aktienliste z.B. so aus:

Der Status „OK“ ist jeweils anklickbar und öffnet die zugehörige Excel-Datei mit dem Datenblatt, welches alle relevanten Angaben für viele zurückliegende Jahre sowie übersichtliche Diagrammdarstellungen enthält.

Die Datenblätter

Die Datenblätter sind genau so wie in der vorigen Einzelblatt-Version beschrieben. Deshalb werde ich hier auf Screenshots verzichten. Genauer nachlesen bzw. nachsehen kann man das in den vorigen Artikeln zum „Projekt Value Investing Scanner“.

Die Programmierung

Schauen wir nun ins Innere. Ich werde hier nicht den Code 1:1 wiedergeben. Ich stelle den Scanner Open Source zum Download zur Verfügung. Die Makros darin sind ausführlich kommentiert. Hier will ich nur etwas zu grundlegenden Ideen sagen, die ich umgesetzt habe.

Den Code aus dem früheren Makro „HolDieDaten“ habe ich wiederverwendet. Habe daraus unter einigen Modifikationen die Function LadeDaten gemacht. Vor allem habe ich das Ausführen der Web-Abfragen so umgebaut, dass eine gleichmäßige Performance beim Abarbeiten einer Liste erzielt wird. Einzelheiten zu dieser Idee siehe im folgenden Artikel: Bessere Performance bei vielen Web-Abfragen hintereinander. Außerdem hole ich den letzten Aktienkurs und das dazugehörige Datum von finanzen.net, weil es hier auch andere Währungen gibt, als nur EUR und USD.

Den Zugriff auf Webseiten habe ich in die Function LadeURL verlagert, die ein vernünftiges Error-Handling enthält, so dass es nicht zum Abbruch kommt, wenn die Seite im Internet nicht antwortet. Details zu dieser Idee stehen in diesem Artikel: Abbruch eines Web-Abfrage-Makros verhindern durch gezieltes Error-Handling

Die Function LeerBlatt und auch die Function ErzeugeDiagramme habe ich wiederverwendet. Natürlich auch den gesamten Aufbau des Datenblattes.

Und hier nun das Ganze zum Download. Wahrscheinlich ist noch der eine oder andere Bug darin. Das werde ich beim Benutzen des Tools merken, nach und nach beheben und neu veröffentlichen.

Download: Value Investing Scanner
Maschine: value-investing-scanner.xslm 68 KB
Aktienliste: aktien.xlsx 11 KB

3 Kommentare

  • Thomas

    Hallo Petra,
    ich bekomme beim ersten starten Laufzeitfehler ‚9‘ „Index ausserhalb des gültigen Bereichs“ der Debug landet an dieser Stelle (letzte Zeile)
    ’standardmäßig anfangs vorhandene Blätter löschen ohne Nachfrage
    Application.DisplayAlerts = False
    For k = 2 To wbDaten.Sheets.Count
    wbDaten.Sheets(k).Delete

    hab die Schleife auskommentiert und noch bei:

    ‚Jahreszahlen an die X-Achse schreiben
    Set rng = sh.Range(V(0))
    ch.FullSeriesCollection(1).XValues = sh.Range(rng, sh.Cells(rng.Row, letztesJahrSpalte))

    das „Full“ gelöscht. Jetzt läuft es auch mit Excel 2010 !
    Tolles Tool – DANKE !

    • Filder

      Danke Thomas,
      habe gerade Deine Änderungen ausprobiert: Es funzt!

      Und natürlich danke an Petra für das Tool!!

    • So, jetzt hab* ich endlich mal den Bug, den Thomas beschrieben hat, gefixt, allerdings etwas ordentlicher als einfach die Schleife auszukommentieren, und damit es die Office-2010-Nutzer glücklich macht, auch das“Full“ entsprechend weggelassen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.