格式化日期编译错误

时间:2013-03-03 14:22:50

标签: excel excel-vba vba

我想在vba中表达以下内容:

Format(Sheet2!R[2]C[7], "Short Date")

但我一直在[2]上收到编译错误,说:Expected: List separator or )

我正在尝试以该格式引用该单元格,因为它是要自动填充的较大公式的一部分。可能有些东西我不见了吗?


所以在vba中,我会有类似的东西:

Worksheets("Sheet1").Select
Range("A3").Select
Selection.AutoFill Destination:=Range("A3:A" & rowCount)

但是单元格A3没有被vba填充,它在excel doc中手动放入,如下所示:

=Sheet2!B3&" "&Sheet2!A3&" "&Sheet2!C3&"_"&Sheet2!D3&"_"&Sheet2!E3

我的问题是,函数"&Sheet2!A3&"中的第二个值实际上是一个日期,当它被编写出来时,就像41331而不是典型的“dd / mm / yyyy”格式。我希望将此值格式化为人类可读格式,并将其嵌入函数中,但仍保留自动填充功能。

2 个答案:

答案 0 :(得分:0)

Worksheets("Sheet2").Range("A1:D10")会给你一个范围。参考http://msdn.microsoft.com/en-us/library/office/ff836512.aspx

答案 1 :(得分:-1)

VBA可以更改单元格内容,但之后您将丢失公式。格式化单元格在任何情况下都没有用,因为它包含一个从许多值连接起来的字符串,这些值无法格式化为日期。

使用Sam Ward评论中显示的Excel Text(Sheet2!A3,"dd/mm/yyyy")功能来格式化公式中的原始数据。