2016-08-02 4 views
0

これは私を殺しています。ここでいくつかのものを見て、意味をなさない答えを見つけました。これはコードであり、場所を見つけてその場所から変数を取得するために機能します。相対参照を使用して列でオフセットするための式R1C1の変数

範囲( "G7:J7")。 ActiveCell.FormulaR1C1 = "!= 'テストマクロ' Rを[-3] C [-5]" を選択

IはRを作るために必要[-3 ] C [-5]をR [-3] C [-4]などに変更し、各列の新しいデータを選択します。これを行うために使用される変数(macroBegin)を作成しました。

範囲( "G7:J7")を選択してください。 ActiveCell.FormulaR1C1 = "= 'テストマクロ'!R [-3] C [ - 5+(macroBegin-1)] "

私の貧弱な構文の代わりは何ですか?ありがとう!

+0

もしあなたが正しいとすれば、G7はB4に向かいます... H7は 'R [-3] C [-4]'となります。これはD4です...このように、2列目毎に行きます。これは1つのステップで行うことはできません。 B列にとどまりたい場合は、 'R [-3] C2'が構文になります。あるいは、各セルに対してこれを行う必要があります。または、Range( "G7:J7")のように数式を使用してください。FormulaR1C1 = "= INDEX( 'Test Macro'!R [-3] ,, COLUMN(R [-1] C [-6])* 2)」「 –

答えて

0

使用、私は数学が正しいが、ダブルチェックしていると信じて

Range("G7:J7").Select ActiveCell.FormulaR1C1 = _ 
    "='Test Macro'!R[-3]C[" & macroBegin - 6 & "]" 

。文字列の連結は正しいです。

+0

OMGそれは働いた。私は数学を調整しなければならなかったが、コードは上にある。おい、ありがとう。あなたは多くの人生を救っています。 –

関連する問題