Excel Benutzerdefiniertes Format
Moderator: Moderatoren
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2470
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Excel Benutzerdefiniertes Format
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 ?
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 ?
Gruß
Klaus
Klaus
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2825
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 96 Mal
- Danksagung erhalten: 13 Mal
Re: Excel Benutzerdefiniertes Format
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
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
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Excel Benutzerdefiniertes Format
Wenn du führende Blanks verschmerzen kannst, so erzwinge ich die führende 0
Gruß
Hubert
Hubert
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2470
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Excel Benutzerdefiniertes Format
@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)
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)
Gruß
Klaus
Klaus
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Excel Benutzerdefiniertes Format
Excel unterdrückt führende '0' Zeichen, schließlich ist es ein Rechenprogramm
Nun kann man das Format auf Text setzen:
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.
Nun kann man das Format auf Text setzen:
Code: Alles auswählen
oSheet:Columns("A:E"):NumberFormat := "@"
Das zeigt er dann mit führenden Nullen an. Was du mit der 1 die es eigentlich nicht gibt meinst, verstehe ich jetzt nicht.
Gruß
Hubert
Hubert
- Martin Altmann
- Foren-Administrator
- Beiträge: 16511
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Excel Benutzerdefiniertes Format
Moin Hubert,brandelh hat geschrieben:Was du mit der 1 die es eigentlich nicht gibt meinst, verstehe ich jetzt nicht.
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
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: Excel Benutzerdefiniertes Format
Hubert, da verwechselst Du was .brandelh hat geschrieben:Excel unterdrückt führende '0' Zeichen, schließlich ist es ein Rechenprogramm
Beim Rechnen sind führende Nullen ohne Bedeutung. Es geht nur um die Information über die Formatierung
Aber das weißt du ja inzwischen
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück