[Gelöst] Excelspalte für Export aus einem Report formatieren

28. September 2006 11:45

Hallo,

ich habe da noch eine Frage zum Formatieren in Excel. Ich habe einen Report erstellt, der sein Ergebnis in Excel exportieren kann. Leider wird bei der Kundennummer die führende Null nicht ausgegeben. Hierfür möchte ich die Spalte im Excel Sheet als Text formatieren. Ich kenne zwar ein paar Formatierungsmöglichkeiten, diese aber noch nicht. Ein sieht bspw. so aus:

Code:
 Sheet.Range('D'+ FORMAT(i)).Font.Bold := TRUE;
          Sheet.Range('D'+ FORMAT(i)).Value := txtSurname;


Gibt es übrigens eine hilfreiche Website mit allen Formatierungen?

Danke für Eure Hilfe!
Zuletzt geändert von mgerhartz am 28. September 2006 12:55, insgesamt 1-mal geändert.

28. September 2006 11:55

Hallo mgerhartz

versuche es mal hiermit

Sheet.Range('D1').NumberFormat := '@';
[B]Sheet.Range('D1').Value := txtSurname;

28. September 2006 12:09

Werde es gleich mal ausprobieren und anschließend berichten. Kennst Du vielleicht eine Website, auf der verschiedene Formatierungen hinterlegt sind. Ich möchte nicht jedes mal hier meine Frage posten müssen.

28. September 2006 12:14

Hallo,

eine Website kenne ich nicht aber einen guten Trick. Öffne Excel und starte ein Macro führe dann den gewünschten Befehl aus und sieh dir das Macro in Excel an. So mache ich es immer.

28. September 2006 12:22

Ne, hat leider nicht funktioniert. Konkret habe ich folgendes ausprobiert:

Code:
  IF Rec_MailingGroup.FIND('-') THEN
  BEGIN
    i := i + 1;
    REPEAT
      Sheet.Range('A1').NumberFormat := '@';
      Sheet.Range('A'+ FORMAT(i)).Value := Structure."Structure No.";

28. September 2006 12:27

Hallo,

dann versuche folgendes

IF Rec_MailingGroup.FIND('-') THEN
BEGIN
i := i + 1;
REPEAT
Sheet.Range('A1').NumberFormat := '@';
Sheet.Range('A'+ FORMAT(i)).Value := FORMAT(Structure."Structure No.");

28. September 2006 12:32

Mmmh, auch das hat leider nicht funktioniert!

28. September 2006 12:36

Hallo

ist i denn 1 ?

28. September 2006 12:38

Hallo,

hier ist mein Code


Sheet.Range('A5').NumberFormat := '@';
Sheet.Range('A5').Value := FORMAT(Customer."No.");
Customer."No." ist 012345

In Excel erscheint 012345

28. September 2006 12:40

Ja, im on PreDataItem habe ich i = 1 gesetzt.

28. September 2006 12:42

Hi

IF Rec_MailingGroup.FIND('-') THEN
BEGIN
i := i + 1;
REPEAT
Sheet.Range('A1').NumberFormat := '@';
Sheet.Range('A'+ FORMAT(i)).Value := FORMAT(Structure."Structure No.");
Hallo,

dann versuche folgendes

IF Rec_MailingGroup.FIND('-') THEN
BEGIN
i := i + 1;
REPEAT
Sheet.Range('A1').NumberFormat := '@';
Sheet.Range('A'+ FORMAT(i)).Value := FORMAT(Structure."Structure No.");Hallo,

dann versuche folgendes

IF Rec_MailingGroup.FIND('-') THEN
BEGIN
i := i + 1; <--- und hier setzt du i um 1 hoch also ist i = 2
REPEAT
Sheet.Range('A1').NumberFormat := '@';
Sheet.Range('A'+ FORMAT(i)).Value := FORMAT(Structure."Structure No.");
Zum vollen Editor wechseln

28. September 2006 12:47

Haaaaabs,

Sheet.Range('A'+ FORMAT(i)).NumberFormat := '@';

Na endlich. Danke für Deine Hilfe!

28. September 2006 17:16

Hi,

ein ähnliches Problem hatte ich auch mal bei einem Excelexport, ich musste verhindern, dass er Felder mit einem '=' als Formel nimmt.

Verwendet hab ich bis jetzt immer den Excel-Export von Navision24.de, meiner Meinung nach eine sehr einfache Möglichkeit dafür, wenn auch ein bißchen viel Tipparbeit bei großen Exporten ;)
Gelöst hab ich das Problem, aber durch eine ganz einfach Methode, indem ich einfach ein Hochkomma (') vor den Text gesetzt hab, wenn es nötig war.
Dazu hab ich einer Textkonstanten (Text000) den Wert ' gegeben und im Export diese Zeile eingefügt:
Code:
EnterCell(RowNo, ColumnNo, TEXT000 + gr_JobBQPos.Description, '')


Vielleicht kann dir das ja auch helfen ;)