プロが教えるわが家の防犯対策術!

初心者・素人の私ですか、よろしくお願いします。

Range("AL19") = "=SUM(AL4:AL18)"

これが起点で7つごとに同じように繰り返して計算をさせたいとしたら、どのようなコードにしたらよいでしようか。教えて貰えませんか。同じように、20カ所分コート入力すればよいのでしょうが、もう少し簡便なやり方でできませんか、お教え下さい。

範囲   合計表示  範囲   合計表示   範囲   合計表示   範囲  合計表示
AL4:AL18 AL19 ・AS4:AS18  AS19 ・AZ4:AZ18 AZ19・・・・FO4:FO18 FO19

質問者からの補足コメント

  • つらい・・・

    下記のように、ご紹介頂いたマクロのコードありがとうございました。できるのかも不安でしたができるのですね。実は、後6つのところに入力したいのですが、同じようにして入力したらよいのでしょうか。その他にやり方がありますか。以下の通りのマクロのコードを入れて完成したいのですが、如何なものでしょうか。最初で言っておくべきと思いましたが、大変申し訳ありません。

    列    番号  行Cells
    AL   38  19
    AM   39  20
    AN   40  21
    AO   41  22
    AP   42  23
    AQ   43  24
    AR   44  25
    ~    ~   ~
    FO   171
    FP   172
    FQ   173
    FR   174
    FS   175
    FT   176
    FU   177

      補足日時:2016/05/04 19:36

A 回答 (2件)

いえ、このような時のためにループ処理があります。


たとえば以下。
’-----------------------------------------------------
Sub Gokei()

Dim c As Integer, Rng As Range

For c = 38 To 171 Step 7
Set Rng = Range(Cells(4, c), Cells(18, c))
Cells(19, c).Value = Application.WorksheetFunction.Sum(Rng)
Next c

Set Rng = Nothing

End Sub
’-----------------------------------------------------

変数c は列番です。
cを38 から 171 まで 7つおきにループ。
ここで、38というのは、AL列の列番、171は、FO列の列番です。
変数Rng はRange型で宣言しています。
このRngに、それぞれの列の4行目から18行目をセットし、
そして、その列の19行目に、Rngの合計値を入れる、
という処理としています。
    • good
    • 0
この回答へのお礼

For c = 38 To 177 Step 7を使って完成できました。お教えありがとうございました。

お礼日時:2016/05/05 17:27

#1です。

補足拝見しました。

>後6つのところに入力したい

ここの内容がいまいち不明ですが、7つおきでなく、AL~FU?列すべてということならば、
ループ のところ、Step7 ではなく、
For c=38 To 177 でOKです。

あるいは、補足に書かれているように、
AL~AR は全列、AS~FO は7列おき、FO~FUは全列 ということなら処理は変わります。

もう少し具体的に示すと良い回答が付くでしょう。
    • good
    • 0
この回答へのお礼

For c = 38 To 177 Step 7を使って完成できました。ありがとうございました。

お礼日時:2016/05/05 17:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!