作者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/cn.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