2016-07-06 12 views
0

VBAの式でセルアドレスを含む変数を呼び出そうとしていますが、ランタイムエラー1004が発生しています。構文?式で変数を使用する方法vba excelランタイムエラー1004

ActiveCell.FormulaR1C1 = "=(RC[-1]/" & CellLocationCFYearTotal & ")* " & CellLocationCFYearDC & "" 

または、変数が正しく宣言されていませんか?

Dim RowLocationCFYearIDC As Long 'can hold over 32000 if over this many rows 
Dim ColumnLocationCFYearIDC As Integer 'columns won't exceed 256 in sheet 
Dim CellLocationCFYearIDC As String 

CellLocationCFYearIDC = ActiveCell.Address 
RowLocationCFYearIDC = ActiveCell.Row 
ColumnLocationCFYearIDC = ActiveCell.Column 

ありがとうございます!

+1

R1C1とA1スタイルを数式に混合しています。 ActiveCell.AddressをActiveCell.Address(1,1、xlR1C1)に変更してください。https://msdn.microsoft.com/en-us/library/office/ff837625.aspx –

+0

ありがとうございました。これに戻り、あなたの提案はあなたが知っていたと確信しています。再度、感謝します! –

答えて

0

デバッグするときは、値ActiveCell.Addressを見てください。それは文字列です。これをDim ColumnLocationCFYearIDC As Integerと宣言された変数に設定しています。これは動作しません。住所を保持する変数をvariantまたはstringと宣言する必要があります。

ただし、数式では、宣言されていないCellLocationCFYearDCCellLocationCFYearTotalを使用しています(すべて貼り付けていない可能性があります)。

R1C1スタイルのセル参照とA1スタイルの参照は使用できないことに注意してください。あなたの住所を設定するときは、.Address(ReferenceStyle:=xlR1C1)を使用する必要があります。

+0

詳細な回答はBradに感謝します。私はちょうどこのプロジェクトに戻り、あなたの提案はすごくうまくいった。とても有難い! –

関連する問題