VBA Excel - 提取整列的前10个字符

时间:2014-09-23 19:42:50

标签: excel vba excel-vba

我想从整个列(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的主人,我无法弄清楚我做错了什么..

感谢您的帮助!

2 个答案:

答案 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日以后的天数,然后格式化为您喜欢的格式

同样如上所述,在这种情况下无需使用“设置”而无需修改对象