Hallo Michael,
excel nervt.
excel ist so g… wir sind nur nicht fähig genug es zu nutzen
ich möchte eine tabelle aus dem internet nach excel kopieren.
die tabelle ist übersichtlich farbig und enthält u.a.
verschiedene zahlenwerten, natürlich mit dezimalPUNKT.
jetzt macht mir excel beim kopieren daraus ungefragt
datumsangaben
eine Möglichkeit wäre die folgende(ab Excel XP):
Excel starten und wählen Extras > Optionen… > Registerkarte „International“ > Häkchen bei „Trennzeichen vom Betriebssystem übernehmen“ ausschalten, Dezimaltrennzeichen „.“, Tausendertrennzeichen „,“.
Dann Excel schließen und die Daten aus der Web-Site übernehmen (Rechtsklick auf die Tabelle > Nach Microsoft Excel exportieren). Die Marktwerte werden jetzt als korrekte Zahlen unformatiert übernommen.
Jetzt die Optionseinstellung rückgängig machen und Werte nach Wunsch formatieren.
Einen Nachteil hat die Methode allerdings. Wenn man gleichzeitig mehrere Tabellen geöffnet hat und zwischenzeitlich diese anderen Tabellen ebenfalls bearbeiten möchte, wirken sich die Änderungen hier auch aus. Also sollte man bei dieser Methode nur diese eine Tabelle bearbeiten, bis man die Tabelle gespeichert hat und wieder geschlossen hat. Dann Einstellungen wieder zurücksetzen und wie gewohnt weiter arbeiten.
Eine zweite Möglichkeit wäre, die Systemeinstellungen mit Hilfe eines Makros nur für das Runterladen zu ändern und nach Abschluss sofort wieder zurück zu setzen.
Ich bin hier allerdings nicht so fit, aber vielleicht reicht das Folgende als Grundlage, bei der evtl. Reinhard weiter helfen kann.
ungetestet, da Web_site nicht bekannt, hoffe Programmlogik und Syntax sind ok
Option Explicit
Sub Web\_Site\_übernehmen()
Dim qt As QueryTable
Dim ws As Worksheet
Dim zf As String
zf = "http://www.meine\_web\_site"
Set ws = ThisWorkbook.Worksheets(1)
ws.UsedRange.ClearContents
For Each qt In ws.QueryTables
qt.Delete
Next qt
With Application
.UseSystemSeparators = False
.DecimalSeparator = "."
.ThousandsSeparator = ","
End With
With ws.QueryTables.Add(Connection:="URL;" & zf, \_
Destination:=ws.Range("A1"))
.Name = **"keine\_ahnung"**
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebFormatting = xlWebFormattingNone
.WebTables = "4"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
With Application
.UseSystemSeparators = True
End With
End Sub
Gruß
Marion