4

上記のセルからセル値を追加して合計値を計算しようとしているExcelマクロで作業しています。これは私のデータがどのように見えるかですサンプル Excel ドキュメント

ここでは、合計を計算するために、各列の上記のセル値を追加します。これを達成するために、私は次のようにマクロを書きました。

For cl = 2 To 5    
    Worksheets(5).Cells(4, cl).Formula = "=SUM(B4:B6)"        
Next cl

これにより、5列までの行の各セルに数式が設定されます。ただし、行のすべてのセルに同じ数式を設定し、列に従って変更する必要があります。対応する列の各セルに合計式を設定する方法は?

4

6 に答える 6

9

あなたのコードを完全に理解しているかどうかはわかりません。行 4 に書き込みを行っているように見えますが、行 4 から行 6 まで合計したい場合もあります。これにより、循環参照が作成されます。

数式が代わりに行 3 に書き込まれていると仮定しましょう。R1C1 参照スタイルを使用して、セルを現在のセルに対して合計するようにします。

使用する参照を学習するためのトリックは次のとおりです。

  • 新しいワークシートを取得し、=SUM(B4:B6)セル B3 に入力して右側にコピーします。
  • 次に、[ファイル] > [オプション] > [数式] をクリックし、 [ R1C1 参照スタイル]を選択します。
  • 次に、シート内の数式を調べます。これが表示されます:=SUM(R[1]C:R[3]C)

これは、マクロで必要なものです。

For cl = 2 To 5    
    Worksheets(5).Cells(3, cl).FormulaR1C1 = "=SUM(R[1]C:R[3]C)"    
Next cl
于 2013-07-25T08:14:31.230 に答える
0

数式の R1C1 および R[1]C[1] スタイルの詳細。私の知る限り、R[1]C[1] は相対参照を作成し、R1C1 は絶対参照を作成します。ただし、R[x] と C[y] の数値は、数式を含むセルへのオフセットであることに注意してください。

つまり、C5 で A1:B4 の合計を表示する場合、コードは次のようにする必要があります。

Worksheets(5).Cells(5, 3).FormulaR1C1 = "=SUM(R[-4]C[-2]:R[-1]C[-1])"   

同じことをしたいが、絶対参照で終わる場合は、このようにする必要があります。

 Worksheets(5).Cells(5, 3).FormulaR1C1 = "=SUM(R1C1:R4C2)" 
于 2016-09-21T13:52:46.723 に答える