Excel VBA質問箱 IV

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

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


40372 / 76732 ←次へ | 前へ→

【41459】Re:決まったセルまでの合計の出し方
回答  Kein  - 06/8/11(金) 1:02 -

引用なし
パスワード
   確認ですが月は「A1=1月・・・L1=3月」と入力されていて、
N2以下に横の合計を出す。という形にしたいのですね ?
それならこんな感じでどうでしょうか ?
任意の月の間の計を出せますが、例えば3月(翌年の)から
5月(今年の)までの計は出せません。つまり

「一回目に出てくるInputBoxに入れる月は、一行目の並び順において、
あくまで二回目に出てくるInputBoxに入れる月よりも左になければならない」

という条件が付きます。
あと、合計する行範囲はA列の最大入力行を基準とします。

Sub MyTotal()
  Dim Stm As Integer, Lsm As Integer
  Dim LR As Long
  Dim x As Variant, y As Variant
  Const Pmt As String = _
  " 1〜12 の数値で入力して下さい"
 
  With Application
   Do
     Stm = .InputBox("合計する初めの月を" & Pmt, Type:=1)
     If Stm = False Then Exit Sub
   Loop While Stm < 1 Or Stm > 12
   Do
     Lsm = .InputBox("合計する最後の月を" & Pmt, Type:=1)
     If Lsm = False Then Exit Sub
   Loop While Lsm < 1 Or Lsm > 12
   x = .Match(Stm & "月", Rows(1), 0)
   y = .Match(Lsm & "月", Rows(1), 0)
  End With
  If IsError(x) Or IsError(y) Then
   MsgBox "該当する月が見当たりません", 48: Exit Sub
  End If
  If x > y Then
   MsgBox "指定した月の列順では計算できません", 48: Exit Sub
  End If
  LR = Range("A65536").End(xlUp).Row - 1
  Range("N:N").ClearContents
  Range("N2").Resize(LR).FormulaR1C1 = _
  "=SUM(R[0]C" & x & ":R[0]C" & y & ")"
  With Range("N1")
   .Value = Stm & "月〜" & Lsm & "月の計"
   .EntireColumn.AutoFit
   Application.Goto .Cells(1), True
  End With
End Sub

0 hits

【41457】決まったセルまでの合計の出し方 おぐり 06/8/10(木) 22:12 質問
【41459】Re:決まったセルまでの合計の出し方 Kein 06/8/11(金) 1:02 回答
【41583】Re:決まったセルまでの合計の出し方 おぐり 06/8/14(月) 23:44 お礼

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