2017-09-15 67 views
0

我有一個宏打開一些工作簿,並把一些數據放入一個單元格後,它編輯它的風格作爲.Style = "Comma"(使數字之間的空間分隔符)。風格「逗號」不工作,除非手動編輯

但是,當我打開該文件時,我只看到一些帶有「逗號」樣式的單元格,而其他單元格根本沒有分隔符。如果我選擇一個沒有可見分隔符的單元格,但鼠標指針位於公式區域並單擊回車,樣式會更改爲「逗號」。

我試圖模仿.Cells(i, j).Calculate,但無濟於事。

爲什麼不改變一些單元格的樣式以及如何在宏內改變樣式?

PS我在設置中已經有一個自動計算。手動將樣式更改爲「逗號」(單擊000圖標也不起作用 - 僅在將光標放入單元格公式並單擊確認後纔可使用)。

編輯:我將文件另存爲xlsx。代碼並不重要。它由Application.Open(filePath)resultWorkbook.Worksheets("sheet 1").Cells(i, j).Value = someValue組成。

+0

您能發佈更多代碼嗎?你將文件保存爲(.csv,.xlsx)? – RealCheeseLord

+1

這聽起來像他們在那裏的文字。重新輸入它們將導致Excel評估返回到一個數字值,該值將選擇格式/樣式。 – CLR

+0

嘗試用'CDec(someValue)'或者CDec(Application.WorksheetFunction.Trim(someValue))替換'someValue''確保完全確定 – AntiDrondert

回答

2

你的一些'數字'被存儲爲文本。數字格式和樣式(如「逗號」)不適用於文本。

以下將轉換所有數字(和公式!)爲可格式化/樣式的數字量。您可能想要進一步限制範圍以便不影響包含公式的區域:

With Worksheets("sheet 1") 
    .UsedRange.Value = .UsedRange.Value 
End With 
+0

謝謝。我將大量數據存儲爲「變體」。它會影響它嗎?我認爲我最好將它們存儲爲'Double',因爲它們具有相同的範圍,對吧?之後就不會有造型問題。 – Ans