我使用的陣列來處理值(以及文本)我有一個片改變了細胞的格式效果:將數組轉儲回單元格時,單元格的格式將由Excel的默認行爲更改。例如,存儲爲以「0」開頭的文本的數字被轉換爲數字,並且「0」被刪除。或「1-11」等文字轉換爲日期(「11月1日」);並可能還有一些我還沒有發現的其他人。Excel VBA中用於處理範圍陣列
如果我監視本地窗口,琴絃被保留爲數組中的字符串,直到那一刻,所以它是食堂的事情了卸載。
是否有辦法避免這種行爲呢?
編輯:我也嘗試:
Application.ActiveSheet.UsedRange.Value = arr
Application.ActiveSheet.UsedRange.Value2 = arr
Application.ActiveSheet.UsedRange.text = arr
每個相同的結果。
你爲什麼不格式複製到一個空表粘貼前陣,然後粘貼(僅格式)回的範圍內? – Ralph
我也這麼想過,但文字已經改變了;將格式粘貼回來不會在電話號碼前添加「0」;同樣,當轉換爲日期,文本已經被存儲爲一天的序列號(例如 - 「1-11」已經被轉換成價值42746;粘貼的格式不會改變這一回「1-11」 –
然後你將不得不爲數組中的所有值添加一個'''你不希望被識別爲數字,但希望保留爲文本。有關更多信息,請閱讀:https://superuser.com/問題/ 806771 /爲什麼 - 會 - 所有文字列式-AN-Excel的電子表格開始上帶有一個領先的單-q – Ralph