2017-11-08 7 views
0

Hiyall!excel vba |ループ内の絶対セルを変更する

ループ内のフォーミュラ絶対セルを変更するにはどうすればよいですか? 私はリンク=ref!$C$2*4を持っていると言いますが、ループ内で次に実行するために1行下に移動する方法=ref!$C$3*4?分割してカウンターを追加する必要がありますか?それとも簡単な方法がありますか?

サンプルコード

Dim cycle As Range 
For Each cycle In Sheets("ref").Range("A2:A4") 
    ... 
    Range("D2").Select 
    ActiveCell.FormulaR1C1 = "=ref!R2C2" + "*4" 
    Selection.AutoFill Destination:=Range("D2:D3") 
    ... 
End Sub 

はまた、私は全く役に立ちませんでした引用符を使用して、=(С4+ B4)/ LOG10(A4)+ 12のようにVBAで数学の数式を追加する方法好奇心:<

+0

ログ数学式に関しては - より良い 'ます。Debug.Print Math.Log(10)や' - チェックします。https:/ /stackoverflow.com/a/31618564/5448626 – Vityata

答えて

1

使用ではなく、FormulaR1C1

Sub dural() 
    With Range("D2") 
     .Formula = "=(C4+B4)/LOG10(A4) + 12" 
     .AutoFill Destination:=Range("D2:D3") 
    End With 
End Sub 

引数はフィル・ダウンで自動調整します注:

enter image description here

+0

完璧!そして、フォーミュラC4、B4、A4をフォローイン実行時にどのように変更するのですか? @ garys-student – JayJayAbrams

+0

@J答えの画像を参照してください。...............式が記入プロセス中に自動的に調整されます。 –

+0

@ garys-student私の悪い、私は絶対セル= ref!$ C $ 2 * 4以上でこの例を($С$ 4 + $ B $ 4)/ LOG10($ A $ 4)'For Each In Sheets(" ref ")。範囲(" A2:A4 ")' サイクルに3つの値があり、3回実行されます。私は何をすべきかは、それぞれの実行のために、絶対的なセルを行の下または列を左またはどこにでも自動的に移動させることです。 – JayJayAbrams

関連する問題