004-數值和文本的相互轉換

在平時接收到的Excel文件里,常常有人把數字設置成了文本格式,造成無法進行計算。雖然用1或0選擇性粘貼的方法可以將其轉回數值,但這也常適用於sheet表格比較少的情況。如果收到多個工作簿,每個工作簿里都有幾張這樣的sheet表,頻繁使用選擇性粘貼也會使人心煩意亂。(沒錯,我前幾天就遇到了一個這樣的問題【嘆氣臉】)遇到這種情況,不禁就想起了使用VBA,代碼一次寫好,每次用的時候直接調用,雖然每次運行代碼也需要點擊,但至少比選擇性粘貼省力得多。

Sub 文本轉數值()nDim rng As RangenFor Each rng In Intersect(Selection, ActiveSheet.UsedRange)n With rngn .NumberFormat = "General"n .Value = .Valuen End WithnNextnEnd Subn

既然文本轉數值的代碼寫了出來,那就順便把數值改文本的代碼也一起留下了。

Sub 數值轉文本()nDim rng As RangenFor Each rng In Intersect(Selection, ActiveSheet.UsedRange)n rng.Value = "" & rng.ValuenNextnEnd Subn

沒錯,這次的代碼就是這麼簡單。但有幾點還是要說明的。

常規情況下Excel里輸入的數字如果超過15位的話,後面幾位會自動變成0,所以在有些情況下有些看著是數字的信息需要以文本的格式存儲,比如身份證號、銀行卡號。但如果是先輸入超過15位的數字,再轉為文本的話,15位以後的信息仍然是0,上述的代碼也是無能為力的。

所以對於這類的信息,我們通常是先設置單元格格式為文本,然後再往裡面輸入數據。切記先後順序不要弄反了,不然只能給自己和別人帶來麻煩。

推薦閱讀:

請教一下:如何能把CAJ格式文檔轉換成PDF?
如何將一段視頻做成gif格式動畫圖片?
如何用一段音頻替換mp4視頻格式的原有音頻?
有哪些軟體可以將一段視頻在盡量保證原視頻質量的情況下轉成gif動圖?

TAG:VBA | 格式转换 | 数值 |