Merkwuerdiges Zellenverhalten

Tech-Archive recommends: Fix windows errors by optimizing your registry

From: Frank Kabel (frank.kabel_at_freenet.de)
Date: 07/28/04


Date: Wed, 28 Jul 2004 02:43:34 -0700

Hi
in Deinem Makro ergänze z.B.: folgende eilen:
with range("D1:E1000")
.value=.value
end with

Das sorgt dafür, das excel die als Text gespeicherten
Datumswerte in 'echte' Datumswerte konvertiert

>-----Originalnachricht-----
>Hallo,
>
>ich beobachte ein komisches Verhalten der Zellen, und
zwar spielt sich
>das ganze so ab (muss etwas ausholen):
>
>Ich importiere aus einer Text-Datei einige Records. Die
Spalten werden
>durch ein Semikolon als Feldtrenner getrennt. Insgesamt
gibt es 4
>Spalten, die letzten beiden enthalten jeweils ein Datum.
Nun ist es
>so, dass einige User leider immer wieder das Semikolon
auch innerhalb
>eines Feldes benutzen, und somit beim Importieren in
Excel dieses
>Record nach rechts verschoben wird. Bsp:
>
>So wäre es korrekt in der Text-Datei eingetragen:
>
> Butter;leicht,bekömmlich;01-01-2004;05-05-2004
>
>Diese Zeile würde beim Import in ein Excel-*** zu
diesem erwünschten
>Ergebnis führen (Excel macht aus einem Bindestrich einen
Punkt ->
>Datum):
>
> A B C D
> Butter leicht, bekömmlich 01.01.2004 05.05.2004
>
>Nun steht aber im Textfeld folgendes (Semikolon statt
Komma nach
>"leicht"):
>
> Butter;leicht;bekömmlich;01-01-2004;05-05-2004
>
>Und das würde zu diesem unerwünschtem Ergebnis führen:
>
> A B C
D
>E
> Butter leicht bekömmlich
01.01.2004
>05.05.2004
>
>
>Nun habe ich also ein kleines Makro geschrieben, das
einfach nur
>nachschaut, ob in der Spalte C an dritter Stelle ein
Bindestrich
>vorkommt (reicht für Fehlerprüfung vollkommen aus). Wenn
ja, ist alles
>in Ordnung. Wenn nein, weiss ich, dass da ein Semikolon
zu viel
>eingetragen wurde, und sich das ganze also nach rechts
verschoben hat.
>Es kann maximal 2 mal vorkommen, dass in einer Zeile ein
Semikolon
>zuviel vohanden ist, also maximal zwei Verschiebungen
möglich.
>
>Das Makro kopiert dann einfach den Zelleninhalt von
Rechts wieder
>zurück nach links. Also so (Kurzform):
>
> strdat = Cells(row,2) -> leicht
> strdat = strdat & " " & Cells(row, 3) -> leicht
bekömmlich
> Cells(row, 2) = strdat
>
> strdat = Cells(row, 4) -> 01.01.2004
> Cells(row, 3) = strdat
> strdat = Cells(row,5) -> 05.05.2004
> Cells(row, 4) = strdat
>
>Also einfach die Zelleninhalte verschieben.
>
>Das Ergebnis im Excel-*** sieht dann so aus, dass die
verschobenen
>Datums-Inhalte (im Gegensatz zu den belassenen)
linksbündig angezeigt
>werden, und mit einem Punkt statt Bindestrich erscheinen.
Wenn ich nun
>die gesamt Spalte formatiere nach "Datum - TT-MM-JJJJ"
passiert nix.
>Erst wenn ich in das Feld doppelt reinklicke (oder F2
drücke) und
>danach ohne was zu ändern in ein anderes Feld klicke,
wird es richtig
>angezeigt: rechtsbündig und mit Bindestrichen.
>
>Handelt es sich beim letzteren um einen Bug?
>
>Grüssle
>Joe Saccone
>.
>


Quantcast