[算表] VBA 含前置0的資料複製問題

看板Office作者 (嫑槑)時間7年前 (2019/02/13 15:23), 編輯推噓0(0016)
留言16則, 2人參與, 7年前最新討論串1/1
軟體: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://www.ptt.cc/bbs/Office/M.1550042605.A.B1B.html

02/13 15:42, 7年前 , 1F
前置0的文字格式配和range.numberformatlocal無法嗎?
02/13 15:42, 1F

02/13 15:42, 7年前 , 2F
測試儲存格a1,儲存格格式以文字,打上01或004
02/13 15:42, 2F

02/13 15:42, 7年前 , 3F

02/13 15:42, 7年前 , 4F
是可行的
02/13 15:42, 4F

02/13 15:43, 7年前 , 5F
另外沒有formate這個function,是format
02/13 15:43, 5F

02/13 15:46, 7年前 , 6F
更新一下測試結果被擋住 https://i.imgur.com/eDRYX5c.jpg
02/13 15:46, 6F

02/13 15:46, 7年前 , 7F
所以原po是否是打上1或4而儲存格格式是以00或000顯示呢
02/13 15:46, 7F

02/13 15:55, 7年前 , 8F
如果是的話先以range.numberformatlocal
02/13 15:55, 8F

02/13 15:55, 7年前 , 9F
range("b1")= range("a1").text
02/13 15:55, 9F

02/13 16:01, 7年前 , 10F
上述如格式指定為"@"且以range.text,b1資類型就為文字
02/13 16:01, 10F

02/13 16:03, 7年前 , 11F
如要以數字、保持原格式且又以range.numberformatlocal設
02/13 16:03, 11F

02/13 16:04, 7年前 , 12F
定的話,就指定儲存格a1的numberformatlocal或
02/13 16:04, 12F

02/13 16:04, 7年前 , 13F
numberformat
02/13 16:04, 13F

02/13 16:06, 7年前 , 14F
如不限一定要用range.numberformatlocal的話range.copy到
02/13 16:06, 14F

02/13 16:06, 7年前 , 15F
指定儲存格,也是個方式
02/13 16:06, 15F

02/13 18:30, 7年前 , 16F
感謝S大回覆,我在試試看
02/13 18:30, 16F
文章代碼(AID): #1SOyNjiR (Office)
文章代碼(AID): #1SOyNjiR (Office)