Excel und Datumsfelder
Moderator: Moderatoren
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2471
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Excel und Datumsfelder
Hallo,
komme irgendwie mit Datumsfelder in Excel nicht klar.
Habe das Activex Beispiel (Excel2.pg) von Alaska genommen
und erweitert.
oSheet:Columns( 1 ):NumberFormat := "0" // KD-Nummer
oSheet:Columns( 2 ):NumberFormat := "@" // KD-Bezeichnung
oSheet:Columns( 3 ):NumberFormat := "0" // Sachbearbeiter
oSheet:Columns( 4 ):NumberFormat := "m/d/yyyy" // Rechnungsdatum
Das Format für Rechnungsdatum habe ich so aus der Maroaufzeichnung
übernommen.
Leider wird so ein Datum abgespeichert (zumindest nicht sichtbar) oder
in der Form 12/25/2005.
Wenn z.B. das Datum 02.01.2006 ist ist dies nur als 1/d/yyyy sichtbar,
wenn ich dann die Zelle nochmals als Datumsfeld formatiere zeigt Excel das Datum an. Was mache ich hier falsch ?
Gruß
Klaus
komme irgendwie mit Datumsfelder in Excel nicht klar.
Habe das Activex Beispiel (Excel2.pg) von Alaska genommen
und erweitert.
oSheet:Columns( 1 ):NumberFormat := "0" // KD-Nummer
oSheet:Columns( 2 ):NumberFormat := "@" // KD-Bezeichnung
oSheet:Columns( 3 ):NumberFormat := "0" // Sachbearbeiter
oSheet:Columns( 4 ):NumberFormat := "m/d/yyyy" // Rechnungsdatum
Das Format für Rechnungsdatum habe ich so aus der Maroaufzeichnung
übernommen.
Leider wird so ein Datum abgespeichert (zumindest nicht sichtbar) oder
in der Form 12/25/2005.
Wenn z.B. das Datum 02.01.2006 ist ist dies nur als 1/d/yyyy sichtbar,
wenn ich dann die Zelle nochmals als Datumsfeld formatiere zeigt Excel das Datum an. Was mache ich hier falsch ?
Gruß
Klaus
- Martin Altmann
- Foren-Administrator
- Beiträge: 16555
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Klaus,
bei meinem eben versuchsweise aufgezeichneten Makro steht folgendes:
Selection.NumberFormat = "m/d/yy;@"
Viele Grüße,
Martin
bei meinem eben versuchsweise aufgezeichneten Makro steht folgendes:
Selection.NumberFormat = "m/d/yy;@"
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.
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Hallo Klaus,
willst du mit dem Datum rechnen ?
Wenn nicht übergib es als String z.b. "'21.12.2004" zu beachten ist das ' nach dem " sonst macht Excel daraus eine Zahl.
So mache ich es bei Cut&Paste Vorlagen in Textform, warum sollte es nicht auch über ActiveX so gehen. Gleiches übrigens bei PLZ etc.
Diese besteht zwar aus Ziffern, ist aber keine Zahl.
willst du mit dem Datum rechnen ?
Wenn nicht übergib es als String z.b. "'21.12.2004" zu beachten ist das ' nach dem " sonst macht Excel daraus eine Zahl.
So mache ich es bei Cut&Paste Vorlagen in Textform, warum sollte es nicht auch über ActiveX so gehen. Gleiches übrigens bei PLZ etc.
Diese besteht zwar aus Ziffern, ist aber keine Zahl.
Gruß
Hubert
Hubert
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2471
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Habe das jetzt wie folgt gelöst:
oSheet:Columns( 1 ):NumberFormat := "0" // KD-Nummer
oSheet:Columns( 2 ):NumberFormat := "@" // KD-Bezeichnung
oSheet:Columns( 3 ):NumberFormat := "0" // Sachbearbeiter
oSheet:Columns( 4 ):NumberFormat := "TT.MM.JJJJ" // Rechnungsdatum
und
übertrage das Feld mit DTOC
ob man damit rechnen kann ist mir (noch) nicht bekannt, aber so sieht es
schon mal wie das Ergebnis aus, welches ich haben wollte
Klaus
oSheet:Columns( 1 ):NumberFormat := "0" // KD-Nummer
oSheet:Columns( 2 ):NumberFormat := "@" // KD-Bezeichnung
oSheet:Columns( 3 ):NumberFormat := "0" // Sachbearbeiter
oSheet:Columns( 4 ):NumberFormat := "TT.MM.JJJJ" // Rechnungsdatum
und
übertrage das Feld mit DTOC
ob man damit rechnen kann ist mir (noch) nicht bekannt, aber so sieht es
schon mal wie das Ergebnis aus, welches ich haben wollte
Klaus
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
hi,
Problem :
man "formatiert" also die ganze Spalte (:range("F6-F"xxx) bevor
man die einzelnen Zellen füllt.
gruss by OHR
Jimmy
Koverhage hat geschrieben: oSheet:Columns( 4 ):NumberFormat := "TT.MM.JJJJ" // Rechnungsdatum
und übertrage das Feld mit DTOC
nimmt man nun beides zussammen kommt man zur Lösung desTOM hat geschrieben: Wenn ich auf derlei Probleme trete, wähle ich den umgekehrten Weg, bestücke also beispielsweise ein Excel-Sheet mit Datumswerten, formatiere die Zellen und lese dann die Infos per ActiveX-Zugriff aus.
Problem :
Code: Alles auswählen
nEnde := RECCOUNT()
...
oSheet:range("F6:F"+LTRIM(STR(nEnde))):NumberFormat := "TT.MM.JJ"
...
DO WHILE .NOT. EOF()
nStart++
...
oSheet:item(nStart,6):Value := DTOC(UMSATZ->UBEZADAT)
man die einzelnen Zellen füllt.
gruss by OHR
Jimmy