- HTML Frage - Burning_Heart, 07.11.2006, 15:49
- HTML Frage - VBA Antwort - Steuergekreuzigter, 07.11.2006, 17:28
- Re: HTML Frage / Alle US-Kürzel - - Elli -, 07.11.2006, 19:02
- Re: HTML Frage - VBA für die Nasdaq-Seite - Uwe, 07.11.2006, 19:30
- Besten Dank an alle. - Burning_Heart, 07.11.2006, 21:32
- Re: @BH - - Elli -, 07.11.2006, 21:47
- Besten Dank an alle. - Burning_Heart, 07.11.2006, 21:32
Re: HTML Frage - VBA für die Nasdaq-Seite
-->Hallo, @Burning_Heart!
Elli, hat bereits die Liste der Symbolkürzel hier veröffentlicht.
Wenn es nur um das Einlesen der Kürzel und eventuell der Firmennamen geht, wie sie z.B. auf der von Dir angegebenne Nasdaq-Seite, dann ist zu überlegen, ob sich der Aufwand einer Programmierung lohnt, da gerade das Einlesen und auswerten von HTML-Seiten vom gerade aktuellem Layout der Seite abhängt.
Hier einmal ein VBA-Code - der nicht ausgereift, aber funktionsfähig ist - für die Symbole der Nasdaq-Seite
<pre>Option Explicit
Sub LoadComposite()
Dim strURL As String, strSuchText As String
Dim r0 As Long, r1 As Long, p As Integer
r0 = 1
For p = 0 To 46
strURL ="URL;http://dynamic.nasdaq.com/dynamic/composite_" & p &".stm"
With ActiveSheet.QueryTables.Add(Connection:=strURL, Destination:=Range("A" & r0))
.Name ="composite_" & p
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = False 'True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlAllTables
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.Refresh BackgroundQuery:=False
.Delete
End With
strSuchText = IIf(p = 0,"[Next]","Company Name")
r1 = Columns("A:A").Find(What:=strSuchText, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Row
Rows(r0 &":" & r1).Delete Shift:=xlUp
r0 = Columns("A:A").Find(What:="[", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Row
r1 = Cells(Rows.Count, 1).End(xlUp).Row
Rows(r0 &":" & r1).Delete Shift:=xlUp
r0 = Cells(Rows.Count, 1).End(xlUp).Row + 1
Next p
End Sub
</pre>Dieser Prozedur-Code ist in ein Standardmodul der vorgesehenen Arbeitsmappe einzufügen und kann dann mit der Tastenkombination [ALT][F8] aufgerufen werden. In der Statuszeile der EXCEL-Arbeitsmappe wird die aktuelle Operation angezeigt.
Wenn Du Probleme beim Umsetzen hast, dann melde Dich bitte. Ich würde dann die Arbeitsmappe mit dem VBA-Code hochladen.
Gruß,
Uwe
P.S.
Ein anderes Theme ist es dann die Werte aus einer Datenquelle abzurufen.

gesamter Thread: