電子書籍の厳選無料作品が豊富!

エクセル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

A 回答 (3件)

申し訳ありません。


あなたのにあったのを落としてしまいました。

With ActiveSheet
の下に

myLAST_ROW = .Cells(Rows.Count, 1).End(xlUp).Row

を入れてください。
    • good
    • 0
この回答へのお礼

okormazd 様

目的通りの動きを確認できました。

私の知識不足で、どのように操作して、どのように動作しないのか
うまく言葉で説明できなかったことが原因であると心得ております。

初心者とはこんなもんだと思って、どうか、お気を悪くなさらずに
今後ともご指導お願いいたします。
ありがとうございました、取り急ぎ 御礼まで。

お礼日時:2008/02/14 09:23

#1です。


同じmoduleの中に同じ名前のsubがなければ貼り付けて実行するだけです。

この回答への補足

#1様

>同じmoduleの中に同じ名前のsubがなければ貼り付けて実行するだけです。

新規Excelファイルに貼り付けて実行等も試みましたが
myBOTTOM_ROWには代入が"0"のままで、
myTOP_ROWには"Nothing"が返ってしまいます、
勿論データは同じ集計表を入れています。

VBAの基本が分かっていませんのでお許し下さい。
2~3日勉強し、質問かお礼の返事を致しますので、お気付きになられましたら
ご教授お願いします。

補足日時:2008/02/13 16:16
    • good
    • 0

実行していないから、危険だけど、


下記のようなもの。

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
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
教えていただいたマクロを貼り付け以外に何か手続きが必要でしょう?
なにせ、超初心者なので理解できなくてすみません。

お礼日時:2008/02/13 13:43

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