我想在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”格式。我希望将此值格式化为人类可读格式,并将其嵌入函数中,但仍保留自动填充功能。
答案 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")功能来格式化公式中的原始数据。