| 
    
     |  | おしえてください。 G列の計算値は表示出来るのですが
 A列に小計or合計が出ませんどこか間違っているのでしょうか
 
 Option Explicit
 Private Sub CommandButton1_Click()
 With ActiveCell
 If .Column <> 7 Or .Value <> "" Then
 MsgBox "セルの場所が不適切です"
 Exit Sub
 End If
 End With
 
 Dim i As Long
 Dim r As Long
 Dim myRes As Variant
 
 r = ActiveCell.Row
 
 myRes = MsgBox("小計なら はい、合計なら いいえを選んでください", vbYesNoCancel)
 If myRes = vbYes Then
 For i = r - 1 To 1 Step -1
 If Cells(i, 1).Value = "小計" Or Cells(i, 1).Value = "合計" Or Cells(i, 1).Value = "品    名" Then
 If i = r - 1 Then
 MsgBox ("計算する行がありません")
 Else
 Cells(r, 7).Value = "=sum(G" & i + 1 & ":G" & r - 1 & ")"
 Cells(r, 1).Value = "小計"
 End If
 i = 1
 End If
 Next
 
 ElseIf myRes = vbNo Then
 For i = r - 1 To 1 Step -1
 If Cells(i, 1).Value = "合計" Or Cells(i, 1).Value = "品    名" Then
 If i = r - 1 Then
 MsgBox ("計算する行がありません")
 Else
 Cells(r, 7).Value = "=sumif(A" & i + 1 & ":G" & r - 1 & ",""小計"",G" & i + 1 & ":G" & r - 1 & ")"
 Cells(r, 1).Value = "合計"
 End If
 i = 1
 End If
 Next
 End If
 End Sub
 下記を元に上記のように修正してみたのですが
 
 ご指導お願いします。
 
 >  A   B    C    D     E     F
 >1  品名    形式      呼称    数量    単 価    金 額
 >2 ○○             100    1,250    125,000
 >3 △△            250    100     25,000
 >4 ■□            120    2,200    264,000
 >
 >  :
 >  :
 >  :
 >11 ××            110    150    16,500
 >12 ●◎            300    15     4,500
 >
 >
 >  A   B    C    D     E     F
 >1  品名    形式      呼称    数量    単 価    金 額
 >2 ○○             100    1,250    125,000
 >3 △△            250    100     25,000
 >4
 >5 ■□            120    2,200    264,000
 >6 小計                    414,000
 >  :
 >  :
 >  :
 >11 ××            110    150    16,500
 >12 ●◎            300    15     4,500
 >13  小計                   21,000
 >
 >
 >  合計                   454,000
 >
 >任意の行の小計を算出(コマンドボタン1)『小計』
 >上記表はF列ですが汎用性を持たせる為にクリックして列を決めたい。
 >MsgBox "小計の列をクリック。"
 >次にMsgBox "小計の行をクリックしなさい。"上の表の場合A6をクリック
 >F13に414,000と(数式記入)表示させる。
 >
 >次に小計を出す場合は列は上記で
 >指定してあるので(コマンドボタン2)『小計2』
 >MsgBox "小計の行をクリック。"
 >A13をクリック
 >前回の小計を探して
 >MsgBox "小計の範囲はF6からF12です。" ,4
 >F13に 21,000を(数式記入)表示
 >これを何度か実行し
 >
 >最後に合計
 >アクティブせるから(仮にA100[任意])の場合A100に"合計"と
 >記入しF2:F99までの
 >小計行のF列をsumする。
 >-------------------------------------------------------------------
 >A101以降同様に上記作業が実行され
 >
 >最後に総合計(仮に)A500に
 >合計行のTOTALを出したいのですがVBAで組めますか。?
 >
 >よろしくお願いします。
 >
 >下記コードを参考に考えたのですがVBA初心者ではなかなか
 >思い通りになりませんでした。
 >Option Explicit
 >Private Sub CommandButton1_Click()
 >With ActiveCell
 >    If .Column <> 2 Or .Value <> "" Then
 >      MsgBox "セルの場所が不適切です"
 >      Exit Sub
 >    End If
 >End With
 >
 >Dim i As Long
 >Dim r As Long
 >Dim myRes As Variant
 >
 >r = ActiveCell.Row
 >
 >myRes = MsgBox("小計なら はい、合計なら いいえを選んでください", vbYesNoCancel)
 >If myRes = vbYes Then
 >For i = r - 1 To 1 Step -1
 >  If Cells(i, 1).Value = "小計" Or Cells(i, 1).Value = "合計" Or Cells(i, 1).Value = "計" Then
 >  If i = r - 1 Then
 >    MsgBox ("計算する行がありません")
 >  Else
 >    Cells(r, 2).Value = "=sum(B" & i + 1 & ":B" & r - 1 & ")"
 >    Cells(r, 1).Value = "小計"
 >  End If
 >    i = 1
 >  End If
 >Next
 >
 >ElseIf myRes = vbNo Then
 >For i = r - 1 To 1 Step -1
 >  If Cells(i, 1).Value = "合計" Or Cells(i, 1).Value = "計" Then
 >  If i = r - 1 Then
 >    MsgBox ("計算する行がありません")
 >  Else
 >    Cells(r, 2).Value = "=sumif(A" & i + 1 & ":B" & r - 1 & ",""小計"",B" & i + 1 & ":B" & r - 1 & ")"
 >    Cells(r, 1).Value = "合計"
 >  End If
 >    i = 1
 >  End If
 > Next
 > End If
 >End Sub
 
 |  |