0

私は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ドキュメントに手動で挿入されます。

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

私の問題は、関数の2番目の値"&Sheet2!A3&"が実際には日付であり、それが書き込まれる41331と、通常の「dd / mm/yyyy」形式の代わりに出力されることです。私は、この値を人間が読める形式にフォーマットし、関数に埋め込んで、自動入力機能を保持したいと考えていました。

4

2 に答える 2

0

Worksheets("Sheet2").Range("A1:D10")範囲を与えます。http://msdn.microsoft.com/en-us/library/office/ff836512.aspxを参照してください。

于 2013-03-03T15:07:04.257 に答える
-1

VBA はセルの内容を変更できますが、数式は失われます。セルには、日付としてフォーマットできない多くの値から連結された文字列が含まれているため、セルをフォーマットしても何の役にも立ちません。

Sam Ward のコメントに示されている Excel Text(Sheet2!A3,"dd/mm/yyyy")関数を使用して、式の元のデータをフォーマットします。

于 2013-03-03T20:48:34.957 に答える