Abgesehen davon, dass bei wisi.com der Bereich "Research Report" (mit den Daten zur Verschuldung) noch klemmt, bin ich mit meinen 180 Aktien fertig. Von mir aus können wir (via Norbert) die erste Gesamttabelle mit den CDAX-Aktien zusammenbasteln, auch wenn noch nicht alle mit ihrem Teil fertig sind. Wie sieht's bei euch aus?
Stock-Screener
-
-
habe noch keinen account...
-
Hallo!
Ich habe gerade Ralfs Makro getestet und es läuft super. Irgendwie gibt es auch keine Seitenbeschränkung mehr für die Company Profile Seite
Ich habe es etwas erweitert, so dass jetzt alle wichtigen Daten aus der ProfilSeite herausgezogen werden
Sub wisi()
Dim wks As Worksheet
Dim sQuery As String
Dim zeile, startzeile, cus_spalte As Integer'On Error GoTo errorhandler
Application.ScreenUpdating = False'Vorbelegungen
Set wks = ActiveWorkbook.Sheets("Datenbank")
startzeile = 35 'Erste Datenzeile in der Datenbank
cus_spalte = 3 'Spalte mit der CUSIP, über die bei WISI gesucht wird
hi_spalte = 4 'Spalte mit Hauptindustrie in der Datenbank
si_spalte = 5 'Spalte mit Subindustrie in der Datenbank
aa_spalte = 6 'Spalte mit Aktienanzahl in der Datenbank
um_spalte = 7 'Spalte mit Umsatz in der Datenbank
div_spalte = 8
kgv_spalte = 9
kuv_spalte = 10
kbv_spalte = 11
kurs_spalte = 12
shares_spalte = 13
name_spalte = 1'Schleife über alle Wertpapiere in der Datenbank
zeile = startzeile
Do While wks.Cells(zeile, 3).Value <> ""
If wks.Cells(zeile, cus_spalte).Value <> "" Then
'Query definieren
sQuery = "http://corporateinformation.com/corpinfo.asp?CUSIP=" & wks.Cells(zeile, cus_spalte).Value
'Neues Tabellenblatt einfügen
Worksheets.Add After:=Worksheets(Worksheets.Count)
'Wisi-Seite in das Tabellenblatt kopieren
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;" & sQuery, _
Destination:=Range("A1"))
.Refresh BackgroundQuery:=False
End With
'Hauptindustrie auslesen
wks.Cells(zeile, hi_spalte).Value = ActiveSheet.Range("H12").Value
'Subindustrie auslesen
wks.Cells(zeile, si_spalte).Value = ActiveSheet.Range("H15").Value
'Aktienanzahl auslesen
wks.Cells(zeile, aa_spalte).Value = ActiveSheet.Range("H39").Value
'Umsatz auslesen
wks.Cells(zeile, um_spalte).Value = ActiveSheet.Range("H9").Value
wks.Cells(zeile, div_spalte).Value = ActiveSheet.Range("E30").Value
wks.Cells(zeile, kgv_spalte).Value = ActiveSheet.Range("D32").Value
wks.Cells(zeile, kuv_spalte).Value = ActiveSheet.Range("D33").Value
wks.Cells(zeile, kbv_spalte).Value = ActiveSheet.Range("D34").Value
wks.Cells(zeile, kurs_spalte).Value = ActiveSheet.Range("B14").Value
wks.Cells(zeile, name_spalte).Value = ActiveSheet.Range("B4").Value
wks.Cells(zeile, name_spalte).Value = ActiveSheet.Range("H39").Value
'Tabellenblatt mit Wisi-Seite löschen
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End If
zeile = zeile + 1
Loopwks.Activate
Application.ScreenUpdating = True
Exit Suberrorhandler:
MsgBox "Es ist ein Fehler aufgetreten: " & Err.Number
'Application.DisplayAlerts = False
'Application.DisplayAlerts = True
wks.Activate
Application.ScreenUpdating = TrueEnd Sub
-
nochmal vielen Dank Ralf!
-
Noch einen Fehler gibt es: Manche Daten werden als Datum übernommen. Ist ein komischer Fehler! Hat dazu jemand eine Lösung oder weiss wie man diese Zellenformatierung deaktiviert?
-
Dummerweise geht das Makro nicht für die research seiten, da diese nicht immer gleich aussehen!
-
Hm, merkwürdig. Bei mir ist nach drei Seiten Schluß, da greift die Beschränkung. Bist Du sicher, daß Du keinen Account angemeldet hast ;)?
Auf das Problem mit den Zahlen, die als Datum dargestellt werden, war ich auch gestoßen. Habe aber noch keine Lösung dafür. Vielleicht kann man durch Typumwandlung die alten Zahlen wiederherstellen? Merkwürdig ist allerdings, daß bei manchen Firmen die Zahlen richtig dargestellt werden.
Für das Datensaugen auf den weiteren Seiten gibt es bestimmt auch eine Lösung. Ich hätte da eine Idee, kann aber hitzebedingt (mein PC steht in einem Zimmer im Dachgeschoß) im Moment nichts ausprobieren. Die CPU würde schmilzen wie die Butter im Hochofen ...
Ich suche immer noch nach einer Liste mit CUSIP-Nummern; ohne die macht alles keinen Sinn. Kennt hier vielleicht einer einen Mitarbeiter im Wertpapierbereich einer Bank, der uns so eine Liste besorgen könnte?
Viele Grüße
ralf -
Hallo Ralf.
Ich habe es vorhin getestet, die Profilseiten (gilt nicht für z.B. research) kann ich mit meinem Noname-Account unendlich lange testen
Allerdings ändern die derzeit noch an der Tabellenstruktur, so dass mein Makro nicht mehr 100%ig läuft.Für das Datum habe ich eine Idee:
Könnte man nicht nach
Worksheets.Add After:=Worksheets(Worksheets.Count)
einen Befehl einsetzen, der die Standard-Formateinstellungen für alle Zellen auf Zahlen setzt? Ich denke die Standard "Standard"-Einstellung ist das Problem.
-
Hallo,
und hier die Lösung für die nicht gewollte Umwandlung der Zahlen in Datumswerte beim Import der Wisi-Seiten. Man muß die Query um den Zusatz ".WebDisableDateRecognition = True" erweitern.
Mein Quellcode sieht nun wie folgt aus, wobei ich beispielhaft die Dividende (welche bisher nur als Datumswert verfügbar war) in die achte Spalte meiner Datenbank lade.
Auf diese Art können nun wahrscheinlich alle Werte, die auf der Seite Company Profile von wisi stehen, reingeladen werden. Dank an Maximus für sein hartnäckiges Nachfragen :).
Ich kann jetzt übrigens auch endlos die Company Seiten abfragen. Wahrscheinlich hat wisi nach der kürzlichen Umstellung seiner Seiten vergessen, "die Tür wieder abzuschliessen". Mir soll's recht sein ...
Viele Grüße
ralf -
Hallo ralf,
ich könnte dir um den Hals fallen! Auf diese Idee ist man im Excelforum nicht gekommen, dort habe ich heute morgen mal nachgefragt nachdem ich meinen Computer fast verschrottet hätte
-
Hallo Ralf, Maximus
euer Skript läuft super! dankeschön
-
Fein. Dann werde ich mich nächste Woche mal an das Saugen der anderen Seiten (Research, etc.) machen. Ich hab da eine vage Idee...
Viele Grüße
ralf -
schaut mal was ich hier habe: alle CUSIPs für Deutschland ;D
Das sind alle in WISI verfügbaren Unternehmen (933 Stück) ;D
Außerdem kann man die CUSIPs für alle anderen Länder ebensoleicht beschaffen. Wenn wir jetzt noch das Skript auf die Research / ... Seiten erweitern, braucht keiner mehr von Hand zu tippen!
-
Maximus ,
ich glaub das nicht, Du bist der Größte, wo hast Du denn die Dinger her?
Ähh, noch ein kleiner nachgeschobener Wunsch. Gäbe es die auch mit zusätzlicher Angabe der WKN, damit man eine automatische Zuordnung (Funktion SVERWEIS) machen könnte? Die Zuordnung über den Namen könnte auf Grund leichter Abweichungen beim Abschreiben zum Problem werden.
Du hattest angemerkt, daß die Angaben bei verschiedenen Unternehmen aus verschiedenen Jahren stammen können. Wisi schreibt in die Zeile oberhalb des Umsatzes, aus welchem Jahr die Angabe stammt. Mit folgenden Programmzeilen könnte man diese Jahresangabe in den Kommentarbereich der Umsatzzelle eintragen. Wenn man mit der Maus dann darauf zeigt, geht der Kommentar auf und man kann das Jahr lesen. Wäre das eine Lösung?
'Umsatz auslesen
wks.Cells(zeile, um_spalte).Value = ActiveSheet.Range("H8").Value
wks.Cells(zeile, um_spalte).ClearComments
wks.Cells(zeile, um_spalte).AddComment Left(ActiveSheet.Range("H7").Value, 4)Viele Grüße
ralf -
schau mal unter http://www.corporateinformation.com/ctryind.asp?ctry_cod=280
Dort ist eine Auswahlbox für alle deutsche Unternehmen. Und wie vermutet, erfolgt die Verlinkung über dir CUISPs. Du musst nur den Quelltext öffnen und extrahieren.
Die WKNs bekomme ich leider nicht hin, aber vielleicht fällt mir da nochwas ein!
Könnte man die verknüpfung nicht über die 2002er Sales machen? zusätzlich vielleicht ticker o.a.?
Bei unserer Teamarbeit scheint großes zu entstehen
-
Super!
@ Maximus: ich bin schon dabei, die CUSIPS den CDAX-Datensätzen von der Dt. Börse zuzuordnen. Die Aktien, die bei wisi zusätzlich zum CDAX enthalten sind, werde ich auch gleich einfügen, und zwar so, dass man auch in Zukunft die beiden Daten-Sets getrennt darstellen kann. Ist eine ziemliche Pfriemelei - kann ein bisschen dauern.
@ ralf: wir haben zu allen CDAX-Aktien die ISIN, daraus lässt sich über Excel-Formeln einfach die WKN "herausschälen". Kein Problem.
Zu den Jahresangaben für den Umsatz: das mit dem Kommentar ist eine gute Idee. Noch besser fände ich, einfach eine zusätzliche Spalte in der Excel-Datei einzufügen, die das Umsatz-Jahr enthält. Das kann man dann im Lauf der Jahre erweitern und archivieren, und ausserdem kann man leicht Aktien mit veralteten Angaben wegsortieren. (Das sind in der Regel bankrotte Schrottaktien, die man sowoieso ausblenden will.) Geht das?
-
Ich habe jetzt die CUSIPS in unsere Tabelle aufgenommen - das ging schneller als erwartet. Ausserdem habe ich alle Aktien in die Tabelle aufgenommen, die bei wisi.com in der Datenbank sind, nicht aber im CDAX. Mit anderen Worten: wir haben jetzt eine komplette Rohtabelle für alle deutschen wisi-Aktien.
Es ist jetzt auch möglich, die CDAX-Aktien mit dem wisi-Datensatz zu vergleichen. Ergebnis:
- wisi enthält ausser den CDAX-Aktien 283 deutsche Aktien, die nicht im CDAX gelistet sind
- umgekehrt fehlen beim wisi-Datensatz folgende deutsche Aktien, die im CDAX enthalten sind (Aktienname / ISIN):ALBIS LEASING AG O.N. DE0006569403
ALLGEIER COMPUTER AG DE0005086300
ALPHAFORM O.N. DE0005487953
AMATECH AG O.N. DE0005192801
BABCOCK BORSIG (NEU) O.N. DE0006638349
BAEURER AG DE0005530703
BIODATA INF.TECH.AG DE0005422703
BREMER VULKAN VERBD I.K. DE0005271001
CEYONIQ AG DE0005420004
CURASAN AG DE0005494538
DEPFA DT.PFANDBRIEFB.AG DE0008047002
ELSA AG O.N. DE0005073605
ESCOM AG I.A. DE0006007206
EUROBIKE AG O.N. DE0005706600
FEEDBACK O.N. DE0005490775
FUNKWERK O.N. DE0005753149
HEILER SOFTWARE O.N. DE0005429906
HEYDE AG O.N. DE0006026701
INFOGENIE AG KONV. DE0007472060
INFOMATEC O.N. DE0006222003
ISION INTERNET O.N. DE0006112006
M+S ELEKTRONIK AG DE0006617400
MANAG.DATA MED.SYST. DE0006621303
MB SOFTWARE AG O.N. DE0006583206
MEDISANA AG DE0005492540
MOENUS TEXTILMASCH.O.N. DE0006621006
NET.IPO AG O.N. DE0005250005
NEXUS AG O.N. DE0005220909
OAR CONSULTING AG O.N. DE0006870801
ORBIS AG O.N. DE0005228779
PHILIPP HOLZMANN AG O.N. DE0006082001
PITTLER MA.FABR. AG I.K. DE0006925001
PIXELNET AG O.N. DE0005279806
POPNET INTERNET AG O.N. DE0006228109
RHEINER MODEN AG I.L. DE0007018707
SAI AUTOMOTIVE AG DE0005009005
SOFTMATIC AG DE0007271702
SOLAR-FABRIK AG O.N. DE0006614712
SPUETZ AG NA O.N. DE0007241440
SYSKOPLAN AG DE0005501456
VCH BEST-OF-VC NA O.N. DE0007857575
VIVANCO GRUPPE AG DE0007602906Die meisten dieser Aktien sind bankrotte Firmen, d.h. wisi scheint seine Datensätze besser zu pflegen als die Deutsche Börse den CDAX ....
@ Investor, Maximus, Value, Ralf: Ihr habt Forenpost.
-
nochmal zu den Angaben über den Stand der Daten. Ja, natürlich kann man die Information auch in eine eigene Spalte einfügen.
Anbei das Makro in der entsprechenden Version. Den Quellcode für das Einstellen in den Kommentar der Zellen habe ich drin gelassen, aber durch das Vorstellen eines ' inaktiv gesetzt. Wenn Du das Makro einsetzt, müßtest Du nur wie gehabt die Spaltennummern Deiner Tabelle in den Vorbelegungen eintragen.
@alle
Ich habe folgendes in das angehängte Makro eingebaut: Eine Spalte, in der ich ein x setze, wenn ich möchte, daß die Daten beim nächsten Abgleich modifiziert werden. Es kann ja sein, daß man doch mal aktuellere Daten als wisi hat. Diese würde dann überschrieben. Das Makro prüft daher vor dem Eintragen der wisi-Daten, erstens ob ein x in der angesprochenen Spalte gesetzt ist, zweitens, ob die Zielspalte (also Dividende, Umsatz, etc.) leer ist. Damit kann man also im ersten Schritt den ganzen Datensatz für das Überschreiben freigeben, im zweiten Schritt durch das manuelle Löschen einzelner Feldinhalte das Makro anweisen, nur diese Felder ín einem Datensatz zu überschreiben. Klingt jetzt vielleicht etwas kompliziert, ist vielleicht auch überflüssig, aber ich habe jetzt ein wenig damit gearbeitet und finde es ganz nützlich.So langsam kommt bei mir immer häufiger die Frage auf, wie man die verschiedenen Softwareversionen auseinanderhalten kann. Ich stelle hier neue Funktionen ein, die aber vielleicht nicht jeder haben möchte. Im Moment sehe ich nur die Lösung, daß ich den Quellcode so gut wie möglich kommentiere und sich dann jeder sein eigenes Makro aus den einzelnen "Komponenten" bastelt. Wenn jemand eine andere Idee hat, immer her damit.
Viele Grüße
ralf -
Es dauert bei mir noch, Mr Helm scheint viel beschäftigt zu sein und vor dem Urlaub wird es knapp für mich.
-
Hallo,
ich habe jetzt dank ralf, witchdream und investor alle Profilseiten automatisch gescannt, auch die von value, nicht das wer doppelte Arbeit macht.
Norbert hat sie und wird die aktualisierte Version bald online stellen. Für die anderen Seiten bastele ich noch an einer automatischen Lösung.