我想从整个列(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的主人,我无法弄清楚我做错了什么..
感谢您的帮助!
答案 0 :(得分:1)
Set
。由于字符串变量不是对象Set
,因此应该由Let
替换,或者将它们全部省略。
在您的情况下,您不需要将10个第一个字符定义为字符串变量,然后将该单元格替换为该变量的值。你可以改为:
For Counter = 1 To 1000000
Cells(Counter, 2).Value = Left(Cells(Counter, 2), 10)
Next Counter
答案 1 :(得分:0)
我怀疑这与格式有关,因为日期通常存储为1900年1月1日以后的天数,然后格式化为您喜欢的格式
同样如上所述,在这种情况下无需使用“设置”而无需修改对象