我在Excel工作表中有一個「持續時間」列。它的單元格格式總是變化—我想將時間從幾分鐘轉換爲秒,但由於單元格格式化,它總是給我不同的答案。如何使用VBA將單元格的格式更改爲文本
我在想,在做轉換之前,我可以將該單元格轉換爲文本,以便它將文本視爲文本值,而不是嘗試自動格式化它。
目前我正在將所有數據複製到記事本中,然後將其保存回Excel工作表以刪除所有以前的格式。有沒有辦法使用VBA自動將單元格的格式設置爲文本?
我在Excel工作表中有一個「持續時間」列。它的單元格格式總是變化—我想將時間從幾分鐘轉換爲秒,但由於單元格格式化,它總是給我不同的答案。如何使用VBA將單元格的格式更改爲文本
我在想,在做轉換之前,我可以將該單元格轉換爲文本,以便它將文本視爲文本值,而不是嘗試自動格式化它。
目前我正在將所有數據複製到記事本中,然後將其保存回Excel工作表以刪除所有以前的格式。有沒有辦法使用VBA自動將單元格的格式設置爲文本?
要回答你直接的問題,那就是:
Range("A1").NumberFormat = "@"
或者
Cells(1,1).NumberFormat = "@"
不過,我建議作出改變格式,你其實是想顯示的內容。這使您可以將數據類型保留在單元格中,並輕鬆使用單元格公式來操作數據。
那麼這應該改變你的格式爲文本。
Worksheets("Sheetname").Activate
Worksheets("SheetName").Columns(1).Select 'or Worksheets("SheetName").Range("A:A").Select
Selection.NumberFormat = "@"
在更改NumberFormat之前,無需激活或選擇 - 只需使用表格(1).Columns(1).NumberFormat =「@」 – aevanko
一點:您必須在將值加載到單元格之前設置NumberFormat屬性。當NumberFormat在單元格加載後設置時,我有一個九位數字,仍然顯示爲9.14E + 08。裝載值之前設置屬性所做的數量出現因爲我想,連勝文
OR:
你能不能先試的自動調整。
Excel_Obj.Columns(「A:V」)。EntireColumn.AutoFit
「誰的單元格格式總是變化」?請給我們一個例子。 –