- ベストアンサー
エクセル マクロで行の合計を数値で入力したい
マクロ初心者です。 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
- みんなの回答 (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
その他の回答 (1)
- sirochacha
- ベストアンサー率40% (11/27)
変数COLの値が指定されていません 列番号の指定が必要ですのでそれの補足を記述してください また、エラーがでた場合、デバッグや、メッセージ表示させるなどで 一つずつ変数や制御の流れを確認すれば大抵の場合解決できますので 落ち着いて状況を把握してから何がどうエラーで どこがわからないのかを明確にご質問ください
補足
なるほどありがとうございます! 甘えてしまうようですが、教えて下さい。 変数COLの範囲は6から36です。 この場合の変数の指定方法をご教授ください。
お礼
出来ました!ありがとうございました! 不慣れな私にここまでのご教授ありがとうございました!