ich ziehe mir über den folgenden VBA-Code Währungskurse von Yahoo als csv-Datei und verarbeite sie in einer Excel-Datei weiter
========================================
Sub DownloadFX() Dim QuerySheet As Worksheet Dim DataSheet As Worksheet Dim qurl As String, start As String Dim i As Integer, k As Integer Dim nQuery As Name ' Application.ScreenUpdating = False ' Application.DisplayAlerts = False ' Application.Calculation = xlCalculationManual Set DataSheet = ActiveSheet Range("C6").CurrentRegion.ClearContents qurl = <a href=""http://quote.yahoo.com/d/quotes.csv?s="">"http://quote.yahoo.com/d/quotes.csv?s="</a> start = Cells(6, 1) i = 7 qurl = qurl + start + Cells(i, 1) + "=X" i = i + 1 While Cells(i, 1) <> "" qurl = qurl + "+" + start + Cells(i, 1) + "=X" i = i + 1 Wend qurl = qurl + "&f=l1nd1t1" Range("c1") = qurl QueryQuote: With ActiveSheet.QueryTables.Add(Connection:="URL;" & qurl, Destination:=DataSheet.Range("C7")) .BackgroundQuery = True .TablesOnlyFromHTML = False .Refresh BackgroundQuery:=False .SaveData = True End With Range("C7").CurrentRegion.TextToColumns Destination:=Range("C7"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=True, Space:=False, other:=False Columns("C:G").ColumnWidth = 10 With ThisWorkbook For Each nQuery In Names If IsNumeric(Right(nQuery.Name, 1)) Then nQuery.Delete End If Next nQuery End With Range("A1").Select End Sub
========================================
Der Inhalt der csv-Datei sieht wie folgt aus:
156.6375,"EUR to JPY","2/16/2007","5:56pm"
89.0734,"EUR to ISK","2/16/2007","5:26pm"
1.3143,"EUR to USD","2/16/2007","5:26pm"
252.0987,"EUR to HUF","2/16/2007","5:30pm"
Ich habe jedoch das Problem mit der Anzeige der Zahlenwerte in Excel.
[1] Das Dezimaltrennzeichen sollte das Komma sein
[2] Beim Eintrag der Zahlenwerte in die Tabelle wird aus z.B. 156.6375 der Wert 1.566.375 ... aus 89.0734 wird 890.734 .... es findet immer nochmal eine Multiplikation mit 10 statt.
Kann mir jemand helfen, den Code so anzupassen, dass in dem Zahlenwert (der ja so korrekt ist) lediglich der Punkt durch ein Komma ersetzt wird.
Verbindlichsten Dank und Gruß
Ralph