エクセル2K使用で300行程度の表があり、2行目まではタイトル行です。
A列 B列 C列(金額)2行目
あ 小計 60
い (空白) 10
う (空白) 20
え (空白) 30
お 小計 90
か (空白) 40
き (空白) 50
く 小計 400 ←計算が合いません
け (空白) 60
こ (空白) 70
さ (空白) 80
し (空白) 90
す (空白) 100
カテゴリOffice系で上記の質問をいたしましたが、
"VBAで無いと難しいと思う"とアドバイスいただきましたので、
こちらで質問させていただきます。
VBAは超初心者ですが、色々の例題を検索し試行錯誤して下記マクロを
作成しましたが、一番下の小計が合いません宜しくお願いします。
Sub SYOUKEI()
Dim i As Long
Dim myLAST_ROW As Long
Dim myTOP_ROW As Long
Dim myBOTTOM_ROW As Long
Dim myRANGE As Range
With ActiveSheet
myLAST_ROW = .Cells(Rows.Count, 1).End(xlUp).Row
myTOP_ROW = 3
For i = myLAST_ROW To 1 Step -1
If .Cells(i, 2).Value = "小計" Then
myBOTTOM_ROW = i + 1
Set myRANGE = _
.Range(.Cells(myTOP_ROW, 3), .Cells(myBOTTOM_ROW, 3))
.Cells(i, 3).Value = WorksheetFunction.Sum(myRANGE)
myTOP_ROW = i - 1
End If
Next i
End With
Set myRANGE = Nothing
End Sub
実行していないから、危険だけど、
下記のようなもの。
Sub SYOUKEI()
Dim i As Integer
Dim myLAST_ROW As Integer
Dim myTOP_ROW As Integer
Dim myBOTTOM_ROW As Integer
Dim myRANGE As Range
With ActiveSheet
myBOTTOM_ROW = myLAST_ROW
For i = myLAST_ROW To 3 Step -1
If .Cells(i, 2).Value = "小計" Then
myTOP_ROW=i+1
Set myRANGE = _
.Range(.Cells(myTOP_ROW, 3), .Cells(myBOTTOM_ROW, 3))
.Cells(i, 3).Value = WorksheetFunction.Sum(myRANGE)
myBOTTOM_ROW = i - 1
End If
Next i
End With
Set myRANGE = Nothing
End Sub
お礼
okormazd 様 目的通りの動きを確認できました。 私の知識不足で、どのように操作して、どのように動作しないのか うまく言葉で説明できなかったことが原因であると心得ております。 初心者とはこんなもんだと思って、どうか、お気を悪くなさらずに 今後ともご指導お願いいたします。 ありがとうございました、取り急ぎ 御礼まで。