FlintheartG. 21. Juni Frage an die Excel Cracks (zb @Oli Garch ): gibt es eigentlich eine Möglichkeit nur den Wochenschlusskurs automatisch zu aktualisieren? Diesen Beitrag teilen Link zum Beitrag
Oli Garch 22. Juni vor 21 Stunden von FlintheartG.: gibt es eigentlich eine Möglichkeit nur den Wochenschlusskurs automatisch zu aktualisieren? Ich weiß nicht, ob ich den dahinterstehenden Wunsch richtig erkenne: Ich kann z. B. Wochenschlusskurse eines bestimmten Zeitraumes herunterladen. Das würde bei Yahoo ganz gut funktionieren, allerdings hauptsächlich für Aktien und einige Fonds (Ticker-Symbol erforderlich). Bei Onvista muss man für den Kursdownload inzwischen angemeldet sein. Bei Ariva werden die Kurse mit Java-Script geladen - ganz schwierig. Sonst sind mir keine weiteren Quellen bekannt. Wenn du was ganz anderes meinst, lass es mich wissen. Gruß Oli Diesen Beitrag teilen Link zum Beitrag
FlintheartG. 22. Juni vor 2 Stunden von Oli Garch: Ich weiß nicht, ob ich den dahinterstehenden Wunsch richtig erkenne: Ich kann z. B. Wochenschlusskurse eines bestimmten Zeitraumes herunterladen. Das würde bei Yahoo ganz gut funktionieren, allerdings hauptsächlich für Aktien und einige Fonds (Ticker-Symbol erforderlich). Bei Onvista muss man für den Kursdownload inzwischen angemeldet sein. Bei Ariva werden die Kurse mit Java-Script geladen - ganz schwierig. Sonst sind mir keine weiteren Quellen bekannt. Wenn du was ganz anderes meinst, lass es mich wissen. Gruß Oli Hi, Dank Dir für die Rückmeldung, onvista nutze ich bereits, allerdings bisher nur manuell (über den CSV Download) und ich bekomme dann alle Tage. Den Wochenschlusskurs hole ich mir dann mit der passenden EXCEL Formel aus dem CSV. Das würde ich gerne automatisieren damit ich nur den Schlusskurs der Woche bekomme (Yahoo deckt leider nicht alles ab, was ich benötige). Diesen Beitrag teilen Link zum Beitrag
Oli Garch 25. Juni @FlintheartG. hat etwas länger gedauert, aber jetzt habe ich etwas hinbekommen, das vielleicht für dich brauchbar ist. Das Makro hier unterhalb importiert die historische Werte von Onvista und gibt nur die Wochenschlusskurse mit dem dazugehörigen Datum aus. Das sind etwa 4-5 Werte, da die Onvista-Kursliste nur einen Monat zurückreicht und nicht veränderbar ist. Es sind auch einige mit (') auskommentierte Codezeilen enthalten, da ich diesen Code aus der unten angehängten Excel-Datei entnommen habe. In dieser Datei wird nach einem Klick auf einen Button dieses Makro in einer Programmschleife gestartet und arbeitet eine Liste von ISIN auf Tabelle1 ab. Die Werte werden auf dem zweiten Tabellenblatt gespeichert. Wichtig ist, dass dieses Makro nur läuft, wenn im Visual Basic Editor (in Excel mit Alt-F11 starten, wenn man kein Symbol in der Symbolleiste hat) unter EXTRAS-VERWEISE... die Microsoft HTML Object Library aktiviert ist. In der angehängten Beispieldatei ist das schon der Fall. Nochmal als Hinweis für alle, die die Beispieldatei ausprobieren wollen. Bei einer heruntergeladenen Datei mit Makro reicht es nicht, beim Öffnen der Datei den gelben Warnhinweis wegzuklicken und bei den Sicherheitseinstellungen im Trustcenter bei den Makroeinstellungen Makros zuzulassen. Bei der heruntergeladenen Datei muss man im geschlossenem Zustand mit Rechtsklick Eigenschaften auswählen und unten rechts bei Sicherheit zulassen einen Haken setzen. 'Microsoft HTML Object Library aktivieren! Option Explicit Sub historischeKurse() Dim Wert As Object Dim myRequest As Object Dim myDokument As HTMLDocument Dim myISIN As String Dim tabellenNummer As Integer Dim Url As String Dim isinZeile As Integer Dim isinSpalte As Integer Dim htmlTabRow As Integer Dim rowMax As Integer Dim Datum As Variant Dim Schlusskurs As Variant Dim zeileKurstab As Variant 'dieses Makro ist nur zum testen gedacht und benutzt nur die folgende ISIN! myISIN = "DE0005557508" 'isinZeile = 3 'isinSpalte = 3 tabellenNummer = 0 zeileKurstab = 1 'Sheets("kurstabelle").Select Sheets("Tabelle1").Select Sheets("Tabelle1").Range("A:H").Select Selection.Delete Range("A1").Select Application.Wait (Now + TimeValue("0:00:01")) 'Do Until Sheets("Tabelle1").Cells(isinZeile, isinSpalte).Value = "" 'myISIN = Sheets("Tabelle1").Cells(isinZeile, isinSpalte).Value Sheets("Tabelle1").Cells(zeileKurstab, 1).Value = myISIN zeileKurstab = zeileKurstab + 1 Url = "https://www.onvista.de/aktien/historische-kurse/" & myISIN Set myRequest = CreateObject("MSXML2.XMLHTTP") myRequest.Open "GET", Url, False myRequest.Send Set myDokument = New HTMLDocument myDokument.body.innerHTML = myRequest.ResponseText htmlTabRow = 0 Set Wert = myDokument.getElementsByClassName("table")(tabellenNummer) rowMax = Wert.Rows.Length Do Until htmlTabRow = rowMax Set Wert = myDokument.getElementsByClassName("table")(tabellenNummer) Datum = Wert.Rows(htmlTabRow).Cells(0).innerText Schlusskurs = Wert.Rows(htmlTabRow).Cells(4).innerText Schlusskurs = Replace(Schlusskurs, "EUR", "") Schlusskurs = Replace(Schlusskurs, "USD", "") If Schlusskurs <> "Schlusskurs" Then Schlusskurs = CDbl(Schlusskurs) If Datum <> "Datum" Then If Weekday(Datum, 2) = 5 Then Cells(zeileKurstab, 1).Value = CDate(Datum) Cells(zeileKurstab, 2).Value = Schlusskurs Cells(zeileKurstab, 2).NumberFormat = "0.00" End If Else Cells(zeileKurstab, 1).Value = Datum Cells(zeileKurstab, 2).Value = Schlusskurs zeileKurstab = zeileKurstab + 1 End If htmlTabRow = htmlTabRow + 1 If Datum <> "Datum" Then If Weekday(Datum, 2) = 5 Then zeileKurstab = zeileKurstab + 1 End If End If Loop 'isinZeile = isinZeile + 1 'zeileKurstab = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row + 3 'Loop Set myRequest = Nothing Set Wert = Nothing End Sub OnvistaKursliste.xlsm Diesen Beitrag teilen Link zum Beitrag
FlintheartG. 25. Juni @Oli Garch Du bist der Meister aller Klassen, die Lösung ist Super, vielen Dank!!! Diesen Beitrag teilen Link zum Beitrag
schneire 29. Juni Am 25.6.2024 um 14:51 von Oli Garch: @FlintheartG. hat etwas länger gedauert, aber jetzt habe ich etwas hinbekommen, das vielleicht für dich brauchbar ist. Das Makro hier unterhalb importiert die historische Werte von Onvista und gibt nur die Wochenschlusskurse mit dem dazugehörigen Datum aus. Das sind etwa 4-5 Werte, da die Onvista-Kursliste nur einen Monat zurückreicht und nicht veränderbar ist. Es sind auch einige mit (') auskommentierte Codezeilen enthalten, da ich diesen Code aus der unten angehängten Excel-Datei entnommen habe. In dieser Datei wird nach einem Klick auf einen Button dieses Makro in einer Programmschleife gestartet und arbeitet eine Liste von ISIN auf Tabelle1 ab. Die Werte werden auf dem zweiten Tabellenblatt gespeichert. Wichtig ist, dass dieses Makro nur läuft, wenn im Visual Basic Editor (in Excel mit Alt-F11 starten, wenn man kein Symbol in der Symbolleiste hat) unter EXTRAS-VERWEISE... die Microsoft HTML Object Library aktiviert ist. In der angehängten Beispieldatei ist das schon der Fall. Nochmal als Hinweis für alle, die die Beispieldatei ausprobieren wollen. Bei einer heruntergeladenen Datei mit Makro reicht es nicht, beim Öffnen der Datei den gelben Warnhinweis wegzuklicken und bei den Sicherheitseinstellungen im Trustcenter bei den Makroeinstellungen Makros zuzulassen. Bei der heruntergeladenen Datei muss man im geschlossenem Zustand mit Rechtsklick Eigenschaften auswählen und unten rechts bei Sicherheit zulassen einen Haken setzen. 'Microsoft HTML Object Library aktivieren! Option Explicit Sub historischeKurse() Dim Wert As Object Dim myRequest As Object Dim myDokument As HTMLDocument Dim myISIN As String Dim tabellenNummer As Integer Dim Url As String Dim isinZeile As Integer Dim isinSpalte As Integer Dim htmlTabRow As Integer Dim rowMax As Integer Dim Datum As Variant Dim Schlusskurs As Variant Dim zeileKurstab As Variant 'dieses Makro ist nur zum testen gedacht und benutzt nur die folgende ISIN! myISIN = "DE0005557508" 'isinZeile = 3 'isinSpalte = 3 tabellenNummer = 0 zeileKurstab = 1 'Sheets("kurstabelle").Select Sheets("Tabelle1").Select Sheets("Tabelle1").Range("A:H").Select Selection.Delete Range("A1").Select Application.Wait (Now + TimeValue("0:00:01")) 'Do Until Sheets("Tabelle1").Cells(isinZeile, isinSpalte).Value = "" 'myISIN = Sheets("Tabelle1").Cells(isinZeile, isinSpalte).Value Sheets("Tabelle1").Cells(zeileKurstab, 1).Value = myISIN zeileKurstab = zeileKurstab + 1 Url = "https://www.onvista.de/aktien/historische-kurse/" & myISIN Set myRequest = CreateObject("MSXML2.XMLHTTP") myRequest.Open "GET", Url, False myRequest.Send Set myDokument = New HTMLDocument myDokument.body.innerHTML = myRequest.ResponseText htmlTabRow = 0 Set Wert = myDokument.getElementsByClassName("table")(tabellenNummer) rowMax = Wert.Rows.Length Do Until htmlTabRow = rowMax Set Wert = myDokument.getElementsByClassName("table")(tabellenNummer) Datum = Wert.Rows(htmlTabRow).Cells(0).innerText Schlusskurs = Wert.Rows(htmlTabRow).Cells(4).innerText Schlusskurs = Replace(Schlusskurs, "EUR", "") Schlusskurs = Replace(Schlusskurs, "USD", "") If Schlusskurs <> "Schlusskurs" Then Schlusskurs = CDbl(Schlusskurs) If Datum <> "Datum" Then If Weekday(Datum, 2) = 5 Then Cells(zeileKurstab, 1).Value = CDate(Datum) Cells(zeileKurstab, 2).Value = Schlusskurs Cells(zeileKurstab, 2).NumberFormat = "0.00" End If Else Cells(zeileKurstab, 1).Value = Datum Cells(zeileKurstab, 2).Value = Schlusskurs zeileKurstab = zeileKurstab + 1 End If htmlTabRow = htmlTabRow + 1 If Datum <> "Datum" Then If Weekday(Datum, 2) = 5 Then zeileKurstab = zeileKurstab + 1 End If End If Loop 'isinZeile = isinZeile + 1 'zeileKurstab = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row + 3 'Loop Set myRequest = Nothing Set Wert = Nothing End Sub OnvistaKursliste.xlsm 30 kB · 9 Downloads Diesen Beitrag teilen Link zum Beitrag
schneire 29. Juni · bearbeitet 29. Juni von schneire @Oli Garch Hallo Oli, wieder mal schön von dir zu lesen. Ich habe den Code für die "Historischen Performance: Woche Monat 6 Monate Jahr 3 Jahre 5 Jahre 7 Jahre 10 Jahre" die Tabelle(n) angepasst und direkt auf meine ISIN-Tabelle die Werte geschrieben. Und ich muß sagen das ist mega schnell bei onvista. Ich musste wegen der enthaltenen ETF's ein bischen umbauen. Wie man sieht habe ich den 'aktuellen Kurs' leider noch nicht dazu bekommen. Wäre schön wenn du dir das mal ansiehst. Ein weiterer Makel ist für mich, das auf onvista bei den ETF's dies nicht vollständig ist. (evtl. gibt es da noch andere Tabellen?) Nun war ich schon versucht den Code auf ARIVA anzuwenden, aber da komme ich so nicht ran an die Tabelle... OnvistaHistoryOli.xlsm Diesen Beitrag teilen Link zum Beitrag
Oli Garch 30. Juni @schneire Das Dumme bei der historischen Performance bei Onvista ist, dass die Tabellen für Aktien und ETFs unterschiedlich aufgebaut sind. Einmal stehen die Werte in einer Spalte (Aktien) und bei ETFs in einer Zeile. Und die Zeiträume sind auch verschieden. Ich habe es mal durchprobiert mit extra Tabellen für Aktien und Fonds und auch die Makros für jede Wertpapier-Art extra erstellt. Das läuft ganz gut. Wie ich weiß, interessiert dich aber auch noch die Performance von Rohstoffen. Auf diese Tabelle lässt sich bei Onvista nicht auf die gleiche Art zugreifen wie bei Wertpapieren. Ich hab's nicht hinbekommen. Als Ersatz hole ich die Performance von Gold von einer speziellen Adresse bei N-TV. Das geht auch rasend schnell. Alle 3 Tabellen werden mit einem übergeordneten Makro, das die 3 dazugehörigen Makros aufruft, aktualisiert. Die Makros können aber auch einzeln gestartet werden. Und um die Sache abzurunden habe ich den Performance-Abruf von Ariva etwas aufgefrischt. Da stehen alle Wertpapierarten sowie Rohstoffe in einer Tabelle und es geht jetzt auch recht schnell. Die abrufbaren Zeiträume sind bei alle Wertpapierarten gleich. Du hast die Wahl. Dateien im Anhang. ArivaPerformance.xlsm OnvistaPerformance.xlsm Diesen Beitrag teilen Link zum Beitrag
schneire 2. Juli Am 25.6.2024 um 23:38 von FlintheartG.: @Oli Garch Vielen Dank! Ja die Seiten sind unterschiedlich bei den "Kennzahlen". Bei der "Übersicht -Kursentwicklung" scheinen sie erst mal gleich und dort gibt es eine Chartansicht die die Performancewerte nahezu identisch abbildet (auf 10J kann ich verzichten). Ich bin mir nicht sicher ob das hier auch gut auszulesen ist? Nun habe ich die beiden Dateien getestet und bleibe vorerst noch bei Ariva obwohl die Onvista min. 2x so schnell ist. Zur Weiterverwendung mussten noch die % Replaced werden. Diesen Beitrag teilen Link zum Beitrag
Oli Garch 3. Juli @schneire Ich habe jetzt mal eine Datei für Ariva Performance-Werte ohne Prozentzeichen gemacht. Es handelt sich um echte Zahlen die wieder als Prozentwerte formatiert werden könnten. Der aktuelle Kurs ist auch wieder dabei. Zum Vergleich dazu hänge ich noch eine Datei mit Performance-Werten von N-TV an. Die Ladegeschwindigkeit ist schon beeindruckend. Da sich die Tabellen bei verschiedenen Wertpapieren etwas unterscheiden, sind es wieder mehrere Tabellen. In den Makros sind die Zeilen- und Spaltenangaben so gemacht, dass außerhalb der Tabellen Zeilen und Spalten hinzugefügt oder gelöscht werden können, ohne dass es Auswirkungen bei der Ausführung der Makros hat. Es können auch weitere Zeilen bei den Tabellen hinzugefügt oder gelöscht werden, ohne dass irgendeine Funktion gestört ist. Das ist jetzt auch bei der Ariva-Tabelle so. Dadurch lässt sie sich beliebig auf einem Tabellenblatt positionieren. PerformanceNTV.xlsm PerformanceAriva.xlsm Diesen Beitrag teilen Link zum Beitrag
schneire 4. Juli vor 15 Stunden von Oli Garch: @schneire ... Zum Vergleich dazu hänge ich noch eine Datei mit Performance-Werten von N-TV an. Die Ladegeschwindigkeit ist schon beeindruckend... Absolut 4sec für alle 15 Werte bei mir! Ich habe den 100er Teiler rausgenommen und es läuft bei Aktien sehr gut aber bei den Fonds: Leider sind die FONDs-snipets wohl auch unterschiedlich und es kommen mal Kurs- und mal Performancewerte... Diesen Beitrag teilen Link zum Beitrag
Oli Garch 4. Juli @schneire Hast recht, bei Fonds sieht es anders aus als bei ETFs. Das habe ich übersehen. Ich habe also noch eine neue Tabelle in das Blatt eingefügt und für Fonds und ETFs ein eigenes Makro erstellt. Man könnte auch eine Tabelle verwenden, eine Spalte für die Angabe von Fonds oder ETF einfügen und das Makro entsprechend anpassen. Angeregt durch die Anpassung, die du bei dir vorgenommen hast, werden die Werte nicht mehr durch 100 geteilt. Es ist also der Prozentwert ohne das Prozentzeichen. Das liest sich einfach besser. Um auch weiteren Mitlesern die Tabelle nachvollziehbar zu machen, eine Anmerkung zur verwendeten ntv-id. Sie wird statt ISIN oder WKN verwendet. Finden kann man sie, indem man auf einer Börsenseite bei N-TV im Wertpapiersuchfeld die ISIN oder WKN eingibt. Wenn das entsprechende Wertpapier angezeigt wird, steht oben in der Adresszeile hinter dem letzten Bindestrich die ntv-id. Wählt man auf der Seite einen anderen Börsenplatz aus, ändert sich auch die id-Nummer. Darüber lässt sich steuern, von welcher Börse die Kurse und Performancedaten geladen werden. Einen Fehler habe ich noch behoben: Bei den Rohstoffen hat die 1 Tages-Performance gefehlt und dadurch war alles um eine Spalte nach links gerutscht. Im Anhang die korrigierte Datei PerformanceNTV.xlsm Diesen Beitrag teilen Link zum Beitrag
schneire 4. Juli · bearbeitet 5. Juli von schneire Am 25.6.2024 um 23:38 von FlintheartG.: @Oli Garch ja das läuft schon mal sehr gut über die vier Macros. Wenn ich über die WKN-Suche Aktien,Etf, (nicht Fonds) oder Gold eingebe erhalte ich immer eine Übersicht-Seite die an der gleichen Position die gesuchten "Kursperformance" Daten ohne "Lücken" darstellt. So stellt sich mir die Frage ob man nicht besser daraus ein Objekt/Tabelle o.ä übernehmen kann? Dann wäre es ja wie bei Ariva vollständig und wesentlich performanter. Diesen Beitrag teilen Link zum Beitrag
Oli Garch 4. Juli vor einer Stunde von schneire: So stellt sich mir die Frage ob man nicht besser daraus ein Objekt/Tabelle o.ä übernehmen kann? Darüber habe ich auch schon nachgedacht und habe es auch schon angewendet und zwar in der Datei Onvistaperformance im Beitrag #883 hier im Faden. Da hatte ich ja Probleme mit der Rohstofftabelle bei Onvista und bin dann dafür auf NTV ausgewichen. Das habe ich es so gemacht: Ich hänge ein neues Tabellenblatt an, lade die Tabelle von https://kursdaten.n-tv.de/teleboerse/webelements/snippet.htn?sektion=performance&i=2323869 herunter in die neu erstellte Tabelle, kopiere die Spalte mit den Werten, füge die Werte in die Waagerechte transponiert in die Performancetabelle ein und lösche dann die angefügte Tabelle wieder. Läuft alles so schnell, dass man es nicht sieht. Wenn du die hier eben genannte Adresse mal eingibst, siehst du, dass die Internetseite nur diese Tabelle enthält, sonst nichts. Da kann man nicht viel falsch machen und funktioniert auch sehr schnell. Der Programmieraufwand ist allerdings kaum geringer. Trotzdem wird man wohl nicht darum herumkommen, für die verschiedenen Wertpapierarten unterschiedliche Tabellen zu anzulegen. Ich könnte das demnächst mal durchspielen. Diesen Beitrag teilen Link zum Beitrag
schneire 4. Juli · bearbeitet 5. Juli von schneire @Oli Garch, ok Theorie schon verstanden aber beim Laden des WEB in eine weitere Tabelle bin ich schon abgehängt. Sollte doch so ähnlich wie bei #883 "OnvistaPerformance - Gold" werden aber eben über n-tv... Sobald das Macro an die Stelle kommt stoppt VBA mit "unerwarteter Fehler" am .Refresh: With myTable .WebSelectionType = xlSpecifiedTables .WebTables = "1" .WebFormatting = xlWebFormattingNone .WebDisableDateRecognition = True .Refresh (False) .Delete End With übrigens beim #875 zeigt sich bei mir die gleiche Fehlermeldung. P.S. und ja leider ist die Fondsperformance bei NTV ist nicht identisch aufgebaut zu den anderen Tabellen (Aktien, ETF, Gold). Aber darauf könnte ich langsam verzichten. Diesen Beitrag teilen Link zum Beitrag
Oli Garch 6. Juli @schneire Am 4.7.2024 um 20:31 von schneire: Sobald das Macro an die Stelle kommt stoppt VBA mit "unerwarteter Fehler" am .Refresh: das kann ich hier nicht nachvollziehen. Deshalb hoffe ich mal, dass der Fehler in der neuen Version verschwindet. hier mal die neue Version unter Verwendung von Querytable-Ojekt. Beim Spezialfall Fonds gibt es allerdings keine Tabelle (unter der gewählten NTV-Adresse), die den aktuellen Kurs enthält. Da half nur ein zusätzlicher HTTP-Request. Deshalb dauert der Abruf bei Fonds (nicht bei ETFs) geringfügig länger. Der Querytable-Abruf bringt es mit sich, dass ich zum Zwischenspeichern der abgerufenen Tabelle einen Platz benötige. Den habe ich auf einem Hilfstabellenblatt eingerichtet. Ich verzichte hier darauf, die Tabelle nach jedem Abruf zu löschen. Es werden nur die zwischengespeicherten Daten gelöscht. Außerdem habe ich jetzt alle Wertpapiere in einer Tabelle zusammengeführt. Das Makro habe ich mit verschiedenen Kommentaren versehen, um besser nachvollziehen zu können, was abläuft. Das Makro ist so programmiert, das die Tabelle (beliebig positionierbar) und auch das Makro in ein anderes Workbook kopiert werden können und da lauffähig wären. 3 Voraussetzungen müssen gegeben sein: - Die Wertpapiertabelle ist als Tabelle formatiert, hat die Bezeichnung 'Performance' und befindet sich auf dem Blatt 'Performance'. (Klickt man in diese Tabelle, erscheint ein neuer Excel-Menü-Eintrag 'Tabellenentwurf', in dem der Name der Tabelle zu finden ist). - Ein Tabellenblatt mit dem Namen 'Hilfstabelle' existiert - In der Arbeitsmappe ist im VBA-Editor (ALT-F11) unter EXTRAS - Verweise die Microsoft Object Library aktiviert PerformanceNTV-v2.xlsm Diesen Beitrag teilen Link zum Beitrag
FlintheartG. 6. Juli · bearbeitet 6. Juli von FlintheartG. @Oli Garch jetzt melde ich mich nochmal wegen der EOW-Kursabfrage - aktuell zieht das Script den letzten Tageskurs unabhängig vom Börsenplatz (auch bei den Ariva und ntv sheets). Gibt es evt eine Möglichkeit dass nur XETRA Schluss-Kurse (für mich Wochenschluss-Kurse) abgerufen werden? Diesen Beitrag teilen Link zum Beitrag
Oli Garch 6. Juli @FlintheartG. Onvista arbeitet neben der ISIN mit einer 'notation', die den Börsenplatz bestimmt. Die entsprechende Zahl findet man nach Eingabe von WKN oder ISIN im Suchfeld in der Adresszeile, wenn man einmal einen anderen Börsenplatz neben dem aktuellen Kurs ausgewählt hat. Wird, wie bei DAX-Aktien zuerst als Standard Xetra angezeigt, ist da die notation-Nummer nicht zu sehen. Dann eben einen anderen Börsenplatz auswählen und dann wieder XETRA. Ich habe mal schnell die Datei aus Beitrag #879 umgebaut und angehängt. Da ist eine Spalte mit der notation-id eingefügt. Ich denke es funktioniert. HistoKurseOnvistaETR.xlsm Diesen Beitrag teilen Link zum Beitrag
Oli Garch 7. Juli Am 4.7.2024 um 20:31 von schneire: "unerwarteter Fehler" am .Refresh: @schneire ich habe noch mal darüber nachgedacht. Das riecht irgendwie nach Laufzeitfehler. Die Seite ist vielleicht noch nicht geladen. obwohl genau das .Refresh (False) im Code den Programmablauf anhalten soll, bis die Tabelle geladen ist. Nur mal so zum probieren: füge mal vor diese Zeile ' .BackgroundQuery = False ' ein. Bei mir ist kein Unterschied zu erkennen, aber vielleicht zeigt es bei dir Wirkung. Diesen Beitrag teilen Link zum Beitrag
schneire 7. Juli · bearbeitet 7. Juli von schneire vor 17 Stunden von Oli Garch: @schneire Hallo Oli, danke für deine Verbesserungen - Leider der gleiche "unerwarteter Fehler" 1004 am .refresh ich arbeite mit Office2019 und habe diese Verweise eingestellt. Fehlt da noch was/ist falsch eingestellt? Diesen Beitrag teilen Link zum Beitrag
Oli Garch 7. Juli @schneire bei mir sind die gleichen Verweise gesetzt. Mein Office ist auch V2019. gut, dass wir eine Fehlernummer haben. Habe schon gestern mal nachQuerytable .Refresh Fehlern gegoogelt. Da gibt es einiges. Bis jetzt habe ich aber noch nichts Brauchbares gefunden. Nächster (hilfloser) Versuch: nimm erst mal unter den DIM-Anweisungen die Zeile Application.DisplayAlerts = False heraus Das ist ein irgendwie übriggebliebener Rest, der jetzt nicht sehr hilfreich ist. Vor der Schleife, die mit: Do Until Range("Performance"). beginnt, füge mal Sheets("Hilfstabelle").Select ein. Dann sehen wir weiter. Diesen Beitrag teilen Link zum Beitrag
schneire 7. Juli · bearbeitet 7. Juli von schneire vor 55 Minuten von Oli Garch: @schneireleider nein - an der gleichen Stelle der .refresh Fehler. Und ja ich habe auch nichts gefunden. Habe jetzt ein "on Error resume" next reingesetzt, da läuft es weiter aber ohne die erwarteten Werte. PerformanceNTV-v3.xlsm Diesen Beitrag teilen Link zum Beitrag
Oli Garch 21. Juli Da frühere Versionen nicht ganz fehlerfrei waren, abschließend hier noch einmal eine neue, hoffentlich fehlerfreie Version einer Excel-Tabelle, die Performance-Daten verschiedener Zeiträume von bis zu 5 Jahren von N-TV Börsenseiten ausliest. Es können Werte von Aktien, ETFs, Fonds, Rohstoffen (Gold) und Indizes abgerufen werden. Wie auch schon im Beitrag #887 beschrieben, wird als Besonderheit für den Abruf statt WKN oder ISIN eine ntv-id verwendet, die auf den Börsenseiten von N-TV nach Eingabe der ISIN einmalig aus der Adresszeile ausgelesen werden muss (Zahl hinter dem letzten Bindestrich). PerformanceNTV-v4.xlsm Diesen Beitrag teilen Link zum Beitrag