Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


27717 / 76738 ←次へ | 前へ→

【54338】Re:任意の数字の足し算
回答  りん E-MAIL  - 08/3/8(土) 17:53 -

引用なし
パスワード
   忍 さん、こんばんわ。

>このように最初の数字が出力され、任意の個数
>出力されたあとに、空白のセルになります。
>最初の数字から空白のセルまでの足し算をする
>計算式を入れて下記のような感じにできないものかと
>悩みました。

空白のセルが一つ入るとして、下から数式を追加していく方法です。
Sub test()
  Dim r1 As Range, r2 As Range
  '表示中のシート
  With Application.ActiveSheet
   '一番下からチェック
   Set r1 = Range("A65536").End(xlUp) 'End + ↑を押したのと同じ挙動
   '開始
   Do
     Set r2 = r1.End(xlUp) '連続範囲の一番上
     r1.Offset(1, 0).Formula = "=SUM(" & r2.Address(False, False) & ":" & r1.Address(False, False) & ")"
     r1.Offset(1, 0).Interior.ColorIndex = 44
     Select Case r2.Row
      Case 1, 2:
        Exit Do 'これ以上上に連続範囲はなし
      Case 3:
        r2.Offset(-1, 0).Formula = "=A1" '合計する必要なし
        Exit Do
      Case Else
        Set r1 = r2.Offset(-2, 0) '続行
     End Select
   Loop
  End With
End Sub

こんな感じです。
1列にしかデータが入っていない場合は、連続範囲を取得するのにCurrentRegionを使ってもいいかも。

0 hits

【54335】任意の数字の足し算 08/3/8(土) 14:09 質問
【54338】Re:任意の数字の足し算 りん 08/3/8(土) 17:53 回答
【54341】Re:任意の数字の足し算 08/3/8(土) 20:31 お礼

27717 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free