2010-10-02 145 views
1

當我使用WinSQL運行SQL語句時,結果爲20100803000001812.但是,當我將SQL作爲宏來使用時,結果爲2.01008E + 16。我應該在宏中做什麼以保持結果爲20100803000001812?Excel中使用VBA的文本格式

感謝,

鮑勃

+2

它是一個大的整數或文本(看起來像YYYYMMDDHHMMSSMMM)? – eumiro 2010-10-02 08:28:09

+0

這是一個文本... – Bob 2010-10-02 14:47:46

回答

0

根據this articleActiveCell.NumberFormat = "@"應該做的伎倆。

+0

我把它插入到宏中,但它不起作用。它仍然顯示爲2.01008E + 16。 – Bob 2010-10-03 06:02:10

+0

正如Tahbaza於2010年10月4日所建議的那樣,如果您只希望將列顯示爲文本,則可以使用撇號,例如: - 從測試中選擇Cno,Itno,CONCAT('''',Ref)作爲Ref。 – Bob 2010-10-07 03:01:34

0

ActiveCell.NumberFormat = "0"作品對我來說(我不期待什麼,但如此這般)

您可能希望在Cells.Columns.AutoFit扔在必要時調整列。

+0

不,它仍然顯示爲2.01008E + 16。 – Bob 2010-10-04 01:40:53

+0

@Bob - 你把這段代碼放在哪裏?如果您嘗試手動設置數字格式會怎麼樣? – variant 2010-10-04 11:23:10

+0

有人建議將CONCAT添加到我的SELECT語句中(例如,選擇Cno,Itno,CONCAT(''',Ref)作爲參考測試) – Bob 2010-10-05 02:24:16