作者kcyy (嫑槑)
看板Office
標題[算表] VBA 含前置0的資料複製問題
時間Wed Feb 13 15:23:21 2019
軟體:EXCEL
版本:2010
如果儲存格中的資料含有前置0的文字格式
例如: A1 = 01 或 004 這樣
請問要如何才能在VBA完全把資料給到另一個儲存格呢? 或是給到另一個頁籤的儲存格呢?
Range("B1") = Range("A1").Value
如果這樣做,B1只會顯示1或4
如果使用formate(,"00"),只能似乎只能改變表面的資料,
實際上儲存格的值還是只有1或4,而且長度也不一定對
如果先把儲存格改成文字格式 Range("B1").NumberFormatLocal = "@"
也沒辦法複製過去還是只有1或4
請問正確做法是什麼呢?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.164.223
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1550042605.A.B1B.html
1F:→ soyoso: 前置0的文字格式配和range.numberformatlocal無法嗎? 02/13 15:42
2F:→ soyoso: 測試儲存格a1,儲存格格式以文字,打上01或004 02/13 15:42
4F:→ soyoso: 是可行的 02/13 15:42
5F:→ soyoso: 另外沒有formate這個function,是format 02/13 15:43
7F:→ soyoso: 所以原po是否是打上1或4而儲存格格式是以00或000顯示呢 02/13 15:46
8F:→ soyoso: 如果是的話先以range.numberformatlocal 02/13 15:55
9F:→ soyoso: range("b1")= range("a1").text 02/13 15:55
10F:→ soyoso: 上述如格式指定為"@"且以range.text,b1資類型就為文字 02/13 16:01
11F:→ soyoso: 如要以數字、保持原格式且又以range.numberformatlocal設 02/13 16:03
12F:→ soyoso: 定的話,就指定儲存格a1的numberformatlocal或 02/13 16:04
13F:→ soyoso: numberformat 02/13 16:04
14F:→ soyoso: 如不限一定要用range.numberformatlocal的話range.copy到 02/13 16:06
15F:→ soyoso: 指定儲存格,也是個方式 02/13 16:06
16F:→ kcyy: 感謝S大回覆,我在試試看 02/13 18:30