看板 Office 關於我們 聯絡資訊
軟體: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
soyoso: 前置0的文字格式配和range.numberformatlocal無法嗎? 02/13 15:42
soyoso: 測試儲存格a1,儲存格格式以文字,打上01或004 02/13 15:42
soyoso: https://i.imgur.com/UU6NGQK.jpg 02/13 15:42
soyoso: 是可行的 02/13 15:42
soyoso: 另外沒有formate這個function,是format 02/13 15:43
soyoso: 更新一下測試結果被擋住 https://i.imgur.com/eDRYX5c.jpg 02/13 15:46
soyoso: 所以原po是否是打上1或4而儲存格格式是以00或000顯示呢 02/13 15:46
soyoso: 如果是的話先以range.numberformatlocal 02/13 15:55
soyoso: range("b1")= range("a1").text 02/13 15:55
soyoso: 上述如格式指定為"@"且以range.text,b1資類型就為文字 02/13 16:01
soyoso: 如要以數字、保持原格式且又以range.numberformatlocal設 02/13 16:03
soyoso: 定的話,就指定儲存格a1的numberformatlocal或 02/13 16:04
soyoso: numberformat 02/13 16:04
soyoso: 如不限一定要用range.numberformatlocal的話range.copy到 02/13 16:06
soyoso: 指定儲存格,也是個方式 02/13 16:06
kcyy: 感謝S大回覆,我在試試看 02/13 18:30