Automatisches umwandeln in datum verhindern?

hallo.

excel nervt.
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 (man sollte dem ne tote ratte schicken, der sich diesen blödsinn ausgedacht hat!).

das läßt sich zwar umgehen, wenn man die zellen als text formatiert und dann das format der zielzellen übernimmt, aber dabei gehen die übrigen formatierungen ja auch verloren.

gibt es eine möglichkeit, das ursprüngliche zellenformat zu behalten und trotzdem die automatische umwandlung zu verhindern?

gruß

michael

excel nervt.

Warum benutzt Du es dann? scnr :wink:)

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

Drück mal einfach bei Excel (statt normal einzufügen) die rechte Maustaste und wähle „Inhalte einfügen“: schon tut sich ein Fenster auf, in dem Du ganz detailliert aussuchen kannst, was genau Du nun eingefügt haben möchtest.
Gruß
Verena

hallo verena.

Warum benutzt Du es dann? scnr :wink:)

weil’s die firma so haben will. scnr. es geht übrigens um excel 2003.

Drück mal einfach bei Excel (statt normal einzufügen) die
rechte Maustaste und wähle „Inhalte einfügen“: schon tut sich
ein Fenster auf, in dem Du ganz detailliert aussuchen kannst,
was genau Du nun eingefügt haben möchtest.

nö. ich kann nur zwischen „HTML“, „Unicode Text“ und „Text“ auswählen, wobei HTML wieder datumsangaben draus macht und die beiden anderen optionen wieder die formatierung wegschmeißen. oder muß ich noch irgendwo was umstellen?

gruß

michael

nö. ich kann nur zwischen „HTML“, „Unicode Text“ und „Text“
auswählen, wobei HTML wieder datumsangaben draus macht und die
beiden anderen optionen wieder die formatierung wegschmeißen.
oder muß ich noch irgendwo was umstellen?
gruß
michael

Stimmt, das bekomme ich auch, wenn ich nicht gerade eine andere Excel-Tabelle einfüge.
Hm, habe es gerade mit einer Tabelle aus dem Internet versucht, aber da geht es auch nur mit normalem Einfügen.
Und wenn Du die Datumsangaben nachträglich als Zahlen formatierst, was passiert dann? Vielleicht könnte man auch irgendwo einstellen, dass das Komma durch einen Punkt ersetzt wird, wie das in Amerika z. B. üblich ist, aber unter Extras - Optionen habe ich vergeblich gesucht. Das Einzige, was ich in der Hilfe unter „Komma“ gefunden habe, ist der Eintrag Eingeben von Zahlen mit Dezimalstellen oder anschließenden Nullen … Wenn Sie viele Zahlen mit einer festen Anzahl von Dezimalstellen oder große Ganzzahlen mit einer festen Anzahl von nachgestellten Nullen (0) eingeben möchten, gehen Sie
folgendermaßen vor: …
Aber das ist wohl nicht, was Du suchst.
Sorry, momentan fällt mir außer dem benutzerdefinierten Format auch nix weiter ein.
Aber vielleicht findest Du in der Excel-Hilfe unter Daten - Problembehandlung bei der Formatierung von Zahlen, Datums- und Zeitangaben etwas Passendes.
Viel Glück!
Verena

Noch ein Tipp …
Manchmal hilft es, den Kram erstmal in eine Textdatei zu kopieren, diese dann als *.txt abzuspeichern und sie in Excel dann über den Import-Assistenten zu öffnen (der kommt automatisch beim Öffnen einer TXT-Datei über den normalen Dialog). Dort würde man dann die entsprechenden Spalten als TEXT formatieren und einlesen.

Ansonsten - wenn man schon die Textdatei hat - einfach dort die Punkte durch Kommata ersetzen, wenn das geht (sprich, wenn man damit nicht zuviel ersetzt). Dann dort alles wieder markieren und in Excel wieder einfügen. Diese Methode kann man übrigens notfalls auch auf den Quelltext anwenden: HTML-Seite abspeichern, Quelltext in Text-Editor laden, dort die Punkte ersetzen, abspeichern und wieder im Browser öffnen und von da aus nach Excel kopieren. Sollten die Formate wichtig sein, „ganze Webseite“ als Speicher-Option wählen.

Oben sagte ich „Manchmal“, weil sich Inhalte von Webseiten zwar oft tabellarisch in Excel einfügen lassen, aber gelegentlich in Textdateien die Separatoren verlieren (Tabulatoren oder feste Breiten z.B.).

Kristian

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 (man sollte dem ne tote ratte schicken, der sich
das läßt sich zwar umgehen, wenn man die zellen als text
formatiert und dann das format der zielzellen übernimmt, aber
dabei gehen die übrigen formatierungen ja auch verloren.

Hi Michael,
vielleicht bringt es was wie Verena anregte auf amerik. Datumsformat umzustellen, das geht aber nicht in Excel sondern irgendwo in Windows selbst, also bei/in Systemsteuerung, frag mich jetzt nur nicht wo genau, seit WinXP blick ich absolut nix mehr wo genau da was zu finden ist :frowning:
Wäre zumindest mal einen Versuch wert.

Ansonsten, kannst du den Dateilink nennen?

Welcher Dateityp ist das? Liegt die Datei in auslesbarer Form vor wie eine csv, txt Datei oder nicht auslesbar weil codiert wie eine xls oder doc-Datei?.
Im ersteren Fall könnte man ein Makro basteln was die datei einliest und dann bestimmt man selbst was da umgewandelt wird und was nicht.

Wenn du den Link nicht nennen kannst, kannst du eine gleich aufgebaute kleine Beispieldatei hochladen, bei www.badango.com oder dem Link von Munich http://load.uk.to/4012690zufall_no_repeat.xls

Gruß
Reinhard

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

Hallo Marion,

excel ist so g… wir sind nur nicht fähig genug es zu nutzen

daran wirds liegen daß ich mit Excel unharmonisch kommuniziere :smile:

genial schreibt man doch g…, was meinst denn schon wieder, sicher was Politisches *unsicherbin* :smile:)))

ich möchte eine tabelle aus dem internet nach excel kopieren.

eine Möglichkeit wäre die folgende(ab Excel XP):

Was ist wenn er noch XL97 benutzt?

Ich bin hier allerdings nicht so fit, aber vielleicht reicht
das Folgende als Grundlage, bei der evtl. Reinhard weiter
helfen kann.

Nö, ich benutze nicht das Excel Feature Query, sondern lese die Html-Seiten direkt aus, insofern habe ich keine Ahnung wie man Query aus Excel heraus oder von Vba heraus ansteuert.
Es gibt da in Excel einiges, wie zum Beispiel Untergrenze *kicher* was ich nicht kenne.

ungetestet, da Web_site nicht bekannt, hoffe Programmlogik und

Jepp, WebSiteadresse wäre gut zum Testen.

Lieben Gruß
Reinhard

Hallo Marion,

excel ist so g… wir sind nur nicht fähig genug es zu nutzen

daran wirds liegen daß ich mit Excel unharmonisch kommuniziere

-)

genial schreibt man doch g…, was meinst denn schon wieder,
sicher was Politisches *unsicherbin* :smile:)))

nö, mir fiel bloß kein passendes Wort mit g ein, (ich glaube es muss ein Wort mit g hin) *g*

ich möchte eine tabelle aus dem internet nach excel kopieren.

eine Möglichkeit wäre die folgende(ab Excel XP):

Was ist wenn er noch XL97 benutzt?

ja warum sagt er das denn nicht *schwitz*
für Excel-Version vor Excel XP unter Start > Systemsteuerung > Regions- und Sprachoptionen auf Englisch(USA) umschalten und nach dem Herunterladen wieder zurückschalten. *erleichtert*

Ich bin hier allerdings nicht so fit, aber vielleicht reicht
das Folgende als Grundlage, bei der evtl. Reinhard weiter
helfen kann.

Nö, ich benutze nicht das Excel Feature Query, sondern lese
die Html-Seiten direkt aus,

wie geht das? *neugierigguck*

…insofern habe ich keine Ahnung wie
man Query aus Excel heraus oder von Vba heraus ansteuert.

echt nicht *ungläubigundamBodenzerstört*

Es gibt da in Excel einiges, wie zum Beispiel Untergrenze
*kicher* was ich nicht kenne.

wie du kennst die Untergrenze nicht :wink:
dabei hab ich es so schön eklärt
ich könnte das Thema noch mal aufgreifen, also das ist ganz einfach … :smile:)
Kennst du denn wenigstens die Mittelgrenze? :smile:

ungetestet, da Web_site nicht bekannt, hoffe Programmlogik und

Jepp, WebSiteadresse wäre gut zum Testen.

Lieben Gruß
Marion

Hallo Reinhard,

Was ist wenn er noch XL97 benutzt?

er hat Excel 2003
hat er uns mitgeteilt (15 Uhr nochwas), wußt ich doch *erleichtert*
Lieben Gruß
Marion

hallo kristian.

Manchmal hilft es, den Kram erstmal in eine Textdatei zu
kopieren, diese dann als *.txt abzuspeichern und sie in Excel
dann über den Import-Assistenten zu öffnen (der kommt
automatisch beim Öffnen einer TXT-Datei über den normalen
Dialog). Dort würde man dann die entsprechenden Spalten als
TEXT formatieren und einlesen.

nützt mir hier leider nix, weil ich ja die formatierungen behalten will.

aus nach Excel kopieren. Sollten die Formate wichtig sein,
„ganze Webseite“ als Speicher-Option wählen.

ich mach’s jetzt so, daß ich die tabelle in word einfüge, die punkte durch kommas ersetze und das ganze dann nach excel kopiere.
ist zwar etwas umständlich, aber es funktioniert.

gruß

michael

gut, aber…
hallo marion.

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 „,“.

coole sache! :smile: wenn man’s dann wieder umstellt, macht excel freundlicherweise sogar kommas aus den punkten. ich bin fast begeistert!
ein problem gibt’s nämlich trotzdem noch: ich sehe gerade, excel macht auch aus x/y datumsangaben :-/
aus 1/1 wird der 1. januar, aus 2/3 der 2. märz…
gibt’s dafür evtl. auch eine option?

gruß

michael

hallo reinhard.

Jepp, WebSiteadresse wäre gut zum Testen.

wenn ihr so drauf brennt… :smile: es geht um tabellen wie diese hier:
http://www.microchip.com/ParamChartSearch/chart.aspx…

microchip sollte sich ein beispiel an anderen chipherstellern nehmen. dort lassen sich solche übersichten direkt im excel-format abspeichern.

gruß

michael

Hallo Michael,

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 „,“.

coole sache! :smile: wenn man’s dann wieder umstellt, macht excel
freundlicherweise sogar kommas aus den punkten. ich bin fast
begeistert!
ein problem gibt’s nämlich trotzdem noch: ich sehe gerade,
excel macht auch aus x/y datumsangaben :-/
aus 1/1 wird der 1. januar, aus 2/3 der 2. märz…
gibt’s dafür evtl. auch eine option?

im Moment keine Ahnung, muss ich erst mal prüfen

Hast du das makro getestet? Es läuft ohne Fehler und das Ergebnis sieht von den Daten erst mal gut aus. Nur die Formate sind nicht so toll.

Bestimmte uninteressante Zeilen und Spalten kann man ausblenden, die einzelnen Datensätze kann man wie auf der Site farblich trennen. Wenn man diese Tabelle mit dem Makro speichert, bleiben diese Einstellungen erhalten.

Was sich leider immer wieder beim Ausführen des Makros ändert, ist die Spaltenbreite. Hier könnte man am Makro noch entsprechende Befehle anfügen. Falls du mit den Preisen rechnen willst - auch das lässt sich nachträglich mit dem Makro abarbeiten. Über einen Button im Tabellenblatt kann das dann gestartet werden.

Wenn das mit dem Makro möglich ist (falls Makros erlaubt sind) kann ich da Montag weitermachen (oder jemand anders vorher, wenns eilig ist). Vorher wirds wahrscheinlich nichts. Bin das ganze WE in Rostock ohne PC :frowning:

Gruß
Marion

Hallo Marion,

Nö, ich benutze nicht das Excel Feature Query, sondern lese
die Html-Seiten direkt aus,

wie geht das? *neugierigguck*

z.B. so:

Sub Test()
Dim IEApp As Object
Dim IEDocument As Object
Dim Text As String
 Set IEApp = CreateObject("InternetExplorer.Application")
 IEApp.Visible = False
 IEApp.Navigate "http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&mid=10&lang=en"
 Do: Loop Until IEApp.Busy = False
 Do: Loop Until IEApp.Busy = False
 Set IEDocument = IEApp.Document
 'Text = IEDocument.Body.InnerText
 Text = IEDocument.Body.InnerHTML
 'MsgBox Len(Text)
 Set IEDocument = Nothing
 'MsgBox Text
For n = 1 To Len(Text) - 1
 If Asc(Mid(Text, n, 1)) = 13 And Asc(Mid(Text, n + 1, 1)) = 10 Then
 zei = zei + 1
 Cells(zei, 1) = T
 T = ""
 Else
 T = T & Mid(Text, n, 1)
 End If
Next n
End Sub

Und die Informationen, die ich brauche muss ich halt per Makro extrahieren. Da ich nicht an den Formaten und Farben der Webseite interessiert bin, reicht mir das. Ich kann dann mit Instr() in der Stringvariablen T nach einem Suchbegriff suchen und nur die Zeilen anzeigen lassen die ihn enthalten.

So gehts auch mit Formaten:

Sub OpenFilexxx()
Dim oBk As Workbook
Set oBk = Workbooks.Open("http://www.microchip.com/ParamChartSearch/chart.aspx…)
End Sub

Allerdings hat man dann wieder deise Datumsumwandlungen.

…insofern habe ich keine Ahnung wie
man Query aus Excel heraus oder von Vba heraus ansteuert.

echt nicht *ungläubigundamBodenzerstört*

Okay, ausprobiert habe ich es schon mal und per Makro geht so

Sub Makro3()
adresse = "http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&mid=10&lang=en"
 With ActiveSheet.QueryTables.Add(Connection:=adresse, Destination:=Range("A1"))

 .FieldNames = True
 .RowNumbers = False
 .FillAdjacentFormulas = False
 .PreserveFormatting = True
 .RefreshOnFileOpen = False
 .BackgroundQuery = True
 .RefreshStyle = xlInsertDeleteCells
 .SavePassword = False
 .SaveData = True
 .AdjustColumnWidth = True
 .RefreshPeriod = 0
 .WebSelectionType = xlAllTables
 .WebFormatting = xlWebFormattingNone
 .WebPreFormattedTextToColumns = True
 .WebConsecutiveDelimitersAsOne = True
 .WebSingleBlockTextImport = False
 .WebDisableDateRecognition = False
 .WebDisableRedirections = False
 .Refresh BackgroundQuery:=False
 End With
End Sub

natürlich erst dann wenn wieder mal Fehler 1004 bei With… beseitigt ist :smile:
Den kann ich aber hier nicht ausbügeln, mangels installiertem Query und mangels installierter Vba-Hilfe.
Aber sit auch nichtwichtig, wird was Kleines sein, das Prinzip ist erkennbar.

Lieben Gruß
Reinhard

http://www.microchip.com/ParamChartSearch/chart.aspx…

Hi Michael,
so wie ich das sehe ist in der Tabelle orginal kein Datum, d.h. alles was da dann in Excel als Datum steht könnte man evtl. per Makro zurückwandeln, also aus 5.Mai wieder 5,5 oder 5.5, je nach Wunsch, machen.
Gruß
Reinhard

Hallo Michael,

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 „,“.

coole sache! :smile: wenn man’s dann wieder umstellt, macht excel
freundlicherweise sogar kommas aus den punkten. ich bin fast
begeistert!
ein problem gibt’s nämlich trotzdem noch: ich sehe gerade,
excel macht auch aus x/y datumsangaben :-/
aus 1/1 wird der 1. januar, aus 2/3 der 2. märz…
gibt’s dafür evtl. auch eine option?

im Moment keine Ahnung, muss ich erst mal prüfen

immer noch keine Ahnung, da noch nicht geprüft

aber aus allen bisher aufgeführten „Effekten“ glaube ich, dass ein Makro am besten alle Klippen meistert.

Hier ist das Makro noch einmal mit ein paar Änderungen:

Sub Web\_Site\_übernehmen\_neu2()
 Dim qt As QueryTable
 Dim ws As Worksheet
 Dim zf As String

 zf = "http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&mid=10&lang=en"
 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 = "chart.aspx?branchID=1001&mid=10&lang=en"
 .FieldNames = True
 .RowNumbers = False
 .FillAdjacentFormulas = False
 .PreserveFormatting = True
 .RefreshOnFileOpen = True
 .BackgroundQuery = True
 .RefreshStyle = xlInsertEntireRows
 .SavePassword = False
 .SaveData = True
 .AdjustColumnWidth = False
 .RefreshPeriod = 0
 .WebSelectionType = xlSpecifiedTables
 .WebFormatting = xlWebFormattingNone
 .WebTables = """uc\_ComparisonChart1\_tblDetail"""
 .WebPreFormattedTextToColumns = True
 .WebConsecutiveDelimitersAsOne = True
 .WebSingleBlockTextImport = False
 .WebDisableDateRecognition = False
 .WebDisableRedirections = False
 .Refresh BackgroundQuery:=False
 End With
 With Application
 .UseSystemSeparators = True
 End With
 ActiveWindow.SmallScroll ToRight:=3
End Sub

Das Makro einem Button zuweisen und Daten nur über diesen Button aktualisieren,
nicht über >Daten aktualisieren oder über das „!“ der Symbolleiste Externe Daten. Alle einmal erstellten Formatierungen bleiben erhalten, die Daten werden aktualisiert.

Testdatei mit dem Makro und Button bei:

http://www.badongo.com/file/3766867

Mit dem Makro:
kannst du individuelle Formatierungen in der bereits erstellten Datei beibehalten

Alle Werte werden korrekt wiedergegeben, die Umstellung des Systems erfolgt nur für die Zeit des Downloads der Web-Site.

Gruß
Marion

Hallo,

folgende Lösung nutze ich immer dafür:

Excel komplett schließen.
Start/Einstellungen/Systemsteuerung/Region und Sprache auswählen
Format auf Englisch umstellen
Übernehmen anklicken.
Excel starten, die gewünschten Daten einfügen.
Die Spalten dann in Text formatieren und die Datei speichern.
Excel schließen.
Start/Einstellungen/Systemsteuerung/Region und Sprache auswählen
Format auf Deutsch umstellen
Übernehmen anklicken.

Excel wieder starten und die Datei öffnen. Sollte klappen