• ベストアンサー

エクセル マクロで行の合計を数値で入力したい

マクロ初心者です。 F列からAJ列までの合計をAK列に数値で入力しようとしています。 ただし、FからAJ列の各セルに全てデータは入っていません。 したがってFからAJ列のいずれかにデータが入っている最終行を 見つけて合計を算入しようとしているのですが下記の通りやっても うまくいきません。教えてください。 エクセルのバージョンは2002です。 Sub () 'データが入っている最終行まで合計額を数字で入力 LastRow = Cells(65536, COL).End(xlUp).Row For i = LastRow To 6 Step -1 Set myRange = Range(Cells(i, 6), Cells(i, 36)) Cells(i, 37).Value = WorksheetFunction.Sum(myRange) Next i End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.2

こんにちは。 以下のように変更してみてください。 Sub test()   Dim i      As Long   Dim LastRow   As Long   Dim myRange   As Range   '   'データが入っている最終行まで合計額を数字で入力   'LastRow = Cells(65536, COL).End(xlUp).Row   LastRow = Get_COL   For i = LastRow To 6 Step -1     Set myRange = Range(Cells(i, 6), Cells(i, 36))     Cells(i, 37).Value = WorksheetFunction.Sum(myRange)   Next End Sub 'FからAJ列のいずれかにデータが入っている最終行を求める Function Get_COL() As Long   Dim wR     As Long   Dim MRow    As Long   Dim cRow    As Long   MRow = 0   For wR = 6 To 36     cRow = Cells(Rows.Count, wR).End(xlUp).Row     If MRow < cRow Then       MRow = cRow     End If   Next   Get_COL = MRow End Function

matchy4649
質問者

お礼

出来ました!ありがとうございました! 不慣れな私にここまでのご教授ありがとうございました!

その他の回答 (1)

回答No.1

変数COLの値が指定されていません 列番号の指定が必要ですのでそれの補足を記述してください また、エラーがでた場合、デバッグや、メッセージ表示させるなどで 一つずつ変数や制御の流れを確認すれば大抵の場合解決できますので 落ち着いて状況を把握してから何がどうエラーで どこがわからないのかを明確にご質問ください

matchy4649
質問者

補足

なるほどありがとうございます! 甘えてしまうようですが、教えて下さい。 変数COLの範囲は6から36です。 この場合の変数の指定方法をご教授ください。