0

を使用して数式をセル範囲にコピーする VBA コードがありますR1C1。残念ながら、最後から 2 行目に次のエラーが表示されます。
Runtime error '1004': Application-defined or object-defined error.

Dim pct As Single
pct = 1

With ThisWorkbook.Sheets("Data").UsedRange
    Dim lastR As Long
    lastR = .Rows.Count 
    Dim lastC As String
    lastC = col_letter(.Columns.Count)
End With

With ThisWorkbook.Sheets("Calculations")
    .Range("A1:" & lastC & 1).Value = 100
==> .Range("A2:" & lastC & lastR + 1).FormulaR1C1 = "=R[-1]C*(1+" & pct / 100 & "*'Data'!R[-1]C"
End With

ここで何が間違っていますか?

4

2 に答える 2

2

式に括弧がありません - おそらく

"=R[-1]C*(1+" & pct / 100 & ")*'Data'!R[-1]C"
于 2013-06-10T10:50:52.103 に答える
1

英語以外のバージョンの Excel/Office を実行していると思います。したがって、数字区切りマークの問題が発生する可能性があります。文字列として定義され、Excel. (dot)に渡される関数で使用する必要があります。次に、関数をExcelセルに入れるときに必要なものにformulaR1C1 property変換されます。, (comma)したがって、この行はエラーなしで機能します。

....=Replace("=R[-1]C*(1+" & pct / 100 & ")*Data!R[-1]C", ",", ".")

'' (single quotation marks)もう1つ、シート名を削除しました。

于 2013-06-10T11:19:43.310 に答える