VBA Excel – 提取整列的前10个字符
我想从整列(B列)中的所有单元格中提取前10个字符。 单元格的格式如下:
2014-09-03 08:00:00
我希望他们都是这样的:
2014年9月3日
我的代码如下所示:
Sub AdjustDate() Dim NewDate As String For Counter = 1 To 1000000 Set NewDate = Left(Cells(Counter, 2), 10) Cells(Counter, 2).Value = NewDate Next Counter End Sub
我不是VBA的主人,我不知道我做错了什么。
将感谢帮助!
分配对象时使用Set
。 由于一个stringvariables不是一个对象, Set
应该被Let
replace或者全部放在一起。
在你的情况下,你不需要将10个第一个字符定义为stringvariables,然后用该variables的值replace单元格。 你可以做,而只是做:
For Counter = 1 To 1000000 Cells(Counter, 2).Value = Left(Cells(Counter, 2), 10) Next Counter
我怀疑这与格式有关,因为date通常被存储为1900年1月1日之后的几天,然后被格式化为任何你喜欢的
也同意以上,不需要在这种情况下使用“设置”而不用修改对象