Text trotz Zahlenformatierung

Hallo,

ich habe mit Excel immer das Problem, das ich nach einem Import oder aus einem VB-Programm als int-Werte geschriebene Zahlen in einer als Zahl formatierten Spalte als Text ankommen. Wenn ich die Zelle dann nur einmal mit Doppelklick oder F2 aufrufe, ist es dann sofort eine Zahl. Bei einigen tausend Zeilen ein mühseliges Unterfangen…

Ich suche entweder die Lösung, das dieses gar nicht erst passiert, oder ein Makro, das die gesamte Spalte ändert.

Kann mir jemand helfen?

Viele Dank im Voraus

Torsten

ich habe mit Excel immer das Problem, das ich nach einem
Import oder aus einem VB-Programm als int-Werte geschriebene
Zahlen in einer als Zahl formatierten Spalte als Text
ankommen. Wenn ich die Zelle dann nur einmal mit Doppelklick
oder F2 aufrufe, ist es dann sofort eine Zahl. Bei einigen
tausend Zeilen ein mühseliges Unterfangen…
Ich suche entweder die Lösung, das dieses gar nicht erst
passiert, oder ein Makro, das die gesamte Spalte ändert.

Hallo Torsten,

Ich suche entweder die Lösung, das dieses gar nicht erst
passiert

Sorry, ich habe keine Glaskugel um nachzuschauen wie/was du importierst, noch welches VB-Programm du benutzt, noch was mit VB-Programm gemeint ist.

oder ein Makro, das die gesamte Spalte ändert.

Das ist schon eher möglich *g
probier mal
entweder mit einem Makro alle Zellen der Spalte nacheinander mit 1 zu multiplizieren. Geht auch mit „1“ in eine beliebige Zelle schreiben, Strg-C, dann gewünschten Spaltenbereich markieren, Bearbeiten—Inhalte einfügen—Multiziplieren.
oder, wieder mit einem makro (for each Zelle in …usedrange) mittls sendkeys „f2“ an jede zelle zu schicken.
Gruß
reinhard

Hallo Torsten,

für den ersten Punkt habe ich keine Lösung.

Für die nachträgliche Änderung der Zellen ins Zahlenformat
kann ich Dir dieses Makro anbieten …

Sub TextzuZahl()

 For Each Zelle In Selection

 z = Zelle.Value

 If z "" And IsNumeric(z) Then

 z = z \* 1

Zelle.Value = z

 End If

 Next Zelle

End Sub

Dazu alle Zellen markieren, die umgewandelt werden sollen (z. B. A1:smiley:45) und das Makro laufen lassen. Bestehende Textfelder werden ignoriert.

Ich hoffe, das hilft Dir weiter …

gruss
moritzbock

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Vielen Dank für die Hilfe.
Hallo Reinhard, hallo Moritzblock,

Ihr habt mir sehr geholfen. Natürlich könnt ihr nicht nachvollziehen, was ich mit VB gemacht habe. Das hätte ich bedenken müssen :frowning:
Ich habe die Tabelle über ein Datenbankobjekt verbunden und dann mit integer Werten gefüllt. Angekommen ist trotzdem Text…

Naja, die Lösung mit dem multiplizieren mit 1 ist so genial einfach. Das kann ich auch sofort umsetzen. Ich habe wieder viel zu kompliziert gedacht.

Vielen Dank nochmal für die schnelle Hilfe

Gruß
Torsten

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]