Seite 1 von 1

Excel Benutzerdefiniertes Format

Verfasst: Do, 15. Mär 2012 16:05
von Koverhage
Ich muss eine Excel Tabelle verarbeiten die ein Benutzerdefiniertes Feld in der Form 00001
enthält. Die Zellen haben den Inhalt 0, werden aber durch das Formatieren als 00001
angezeigt.
Ich übernehme die Daten so:
aValues := oExcel:Application:Range(oSheet:Cells(4,1),oSheet:Cells(nRow,5)):value
Als Ergebnis bekomme ich die Spalte(Zelle) 1 mit einem Wert 0

Speichere ich die Tabelle allerdings als CSV oder TXT Datei bekomme ich wie gewünscht den
Wert 00001.

Muss ich jetzt für jeden Wert die Formatierung auslesen (falls das überhaupt möglich ist)
und das Ergebnis entsprechend aufbereiten ?

Re: Excel Benutzerdefiniertes Format

Verfasst: Do, 15. Mär 2012 19:38
von georg
Ja.

OK, das wäre gemein als Antwort. Was mich interessiert, ist die benutzerdefinierte Formatierung, die einen Wert Val("0") als "0001" anzeigt. Du wirst die Formatierung zumindest einmal auslesen und übertragen müssen. Persönlich würde ich ein Makro aufzeichen, in dem ich auf das Feld klicke, dann das Pinsel-Icon anklicke und eine andere Zelle anklicke (übertragen einer individuellen Formatierung) und mir dann anschauen, was der Makro-Recorder festgehalten hat.

Analog kannst Du dann diese Formatierung auch auf einen Bereich übertragen.


Gruss,

Georg

Re: Excel Benutzerdefiniertes Format

Verfasst: Do, 15. Mär 2012 21:32
von brandelh
Wenn du führende Blanks verschmerzen kannst, so erzwinge ich die führende 0 ;-)

Re: Excel Benutzerdefiniertes Format

Verfasst: Fr, 16. Mär 2012 7:21
von Koverhage
@Georg,

ich habe es ja nicht gewusst das da ein benutzerdefiniertes Format eingetragen ist.
Habe mich nur gewundert, das in dem Feld 0 steht obwohl mit Excel 00001 angezeigt wird.
D.h. ich muss alle benötigten Felder prüfen, da ich das vorher ja nicht weiß.

@Hubert,
die Antwort verstehe ich jetzt nicht.
ich benötige die 0001 und zwar als String. Das Problem die 1 ist ja nicht wirklich da
(so kann man sich Eingaben in Excel sparen, aber mit dem kann man nicht arbeiten)

Re: Excel Benutzerdefiniertes Format

Verfasst: Fr, 16. Mär 2012 8:36
von brandelh
Excel unterdrückt führende '0' Zeichen, schließlich ist es ein Rechenprogramm ;-)
Nun kann man das Format auf Text setzen:

Code: Alles auswählen

   oSheet:Columns("A:E"):NumberFormat        := "@"
was leider nicht immer richtig funktioniert, oder aber statt "0000" " 0000" zuweisen.
Das zeigt er dann mit führenden Nullen an. Was du mit der 1 die es eigentlich nicht gibt meinst, verstehe ich jetzt nicht.

Re: Excel Benutzerdefiniertes Format

Verfasst: Fr, 16. Mär 2012 9:12
von Martin Altmann
brandelh hat geschrieben:Was du mit der 1 die es eigentlich nicht gibt meinst, verstehe ich jetzt nicht.
Moin Hubert,
ganz einfach: Bedingte Formatierung!
Wenn die Zelle leer ist, dann formatiere sie mit 00001 - es wird also ein leeres Feld als 00001 angezeigt.

Viele Grüße,
Martin

Re: Excel Benutzerdefiniertes Format

Verfasst: Fr, 16. Mär 2012 10:34
von UliTs
brandelh hat geschrieben:Excel unterdrückt führende '0' Zeichen, schließlich ist es ein Rechenprogramm ;-)
Hubert, da verwechselst Du was ;-) .
Beim Rechnen sind führende Nullen ohne Bedeutung. Es geht nur um die Information über die Formatierung :razz:
Aber das weißt du ja inzwischen :book:
Uli