Excel vba-格式为isn';t复制到其他单元格
我得到了一个excel文件,在1个单元格上有一个自动增量,其中numberformat是“000” 这很好,所以我的第一个数字是:001而不是1 现在我需要将这个单元格合并到另一个单元格M16(它显示一个输入,例如:2020) 但由于某种原因,它正在丢失他的数字格式,excel显示:2020/1而不是2020/001 我尝试了一些方法,比如格式化我的单元格M18Excel vba-格式为isn';t复制到其他单元格,excel,vba,Excel,Vba,我得到了一个excel文件,在1个单元格上有一个自动增量,其中numberformat是“000” 这很好,所以我的第一个数字是:001而不是1 现在我需要将这个单元格合并到另一个单元格M16(它显示一个输入,例如:2020) 但由于某种原因,它正在丢失他的数字格式,excel显示:2020/1而不是2020/001 我尝试了一些方法,比如格式化我的单元格M18 Worksheets("TEST").Range("M18").NumberFormat = "0000/000" 或者直接在vba
Worksheets("TEST").Range("M18").NumberFormat = "0000/000"
或者直接在vba中解决这个问题
Worksheets("TEST").Range("M18").Value = Worksheets("FACTUUR").Range("M16").Value & Worksheets("TEST").Range("M17").Value
Worksheets("TEST").Range("M18").NumberFormat = "0000/000"
或者甚至通过改变Excel本身的格式,但是我直接收到一条错误消息(不知道为什么…)
您知道如何解决这个问题吗?代码的第一部分只会更改向用户显示数字的方式。如果在运行代码后单击单元格M17,您将看到实际值只是1,而不是001。您需要使用BigBen之前建议的格式$,然后按照以下代码连接:
Worksheets("test").range("M17").value = Worksheets("test").range("M17").value + 1
Worksheets("test").range("M17").NumberFormat = "000"
Dim firstValue As String: firstValue = Worksheets("test").range("M16").value
Dim secondValue As String: secondValue =
Format$(Worksheets("test").range("M17").value, "000")
Worksheets("test").range("M18").value = firstValue & "/" & secondValue
您使用的excel应用程序配置为使用十进制逗号而不是小数点 因此,在单元格中键入的公式应该有分号
=M16&"/"&TEXT(M17;"000")
请注意,可以使用逗号将相同的公式指定给VBA中的单元格:
Range("M18").Formula="=M16&""/""&TEXT(M17,""000"")"
:(在连接时使用
格式$
。=1/2
是否在excel版本上显示为0,5
或0.5
?此解决方案的缺点是,用户每次编辑工作表时都需要触发VBA代码。谢谢!我不相信这是我的问题,而且大多数问题我自己都没有发现:p谢谢(再次感谢你的帮助
=M16&"/"&TEXT(M17;"000")
Range("M18").Formula="=M16&""/""&TEXT(M17,""000"")"