前提・実現したいこと
各商品の出庫と入庫の下にそれぞれ金額行を作成し、
一番下に出庫と入庫の各合計金額行を作成し、
値を入れるマクロを作成したいです。
B3:AJ55までの1か月分の入出庫状況のテーブルが存在していて、
B列:型番名
C列:商品名
D列:入出庫の各単価
E列:各商品3行ずつで区切られていてE5=入庫、E6=出庫、E7=在庫を以下ループ
F列:E列に対応した先月繰越
G列~AI列:日にちごとの入庫・出庫・在庫数
AJ列:1月分各行合計
3行:日付
4行:項目 G列以降は曜日
5行:B、C列は型番、商品名 以下入庫に関する値
6行:D列以降出庫に関する値
7行:E列以降在庫に関する値
以降5~7行の内容をを型番・商品名・単価等を変えて繰り返し
商品数は17
わかりづらいと思いますが宜しくお願い致します。
発生している問題・エラーメッセージ
出庫と入庫の下にそれぞれ金額行を挿入するところで躓いています。 1つ目の商品の場合、新たに6,8行目に挿入したいです。
該当のソースコード
Sub 問題()
Dim i As Long, j As Long, k As Long ' カウンタ Dim buf(100, 100) As String Dim cmax, rmax As Long cmax = ws1.Cells(1, Columns.Count).End(xlToLeft).Column rmax = ws1.Cells(Rows.Count, 1).End(xlUp).Row ' 行の挿入 転記 For i = 7 To rmax Step 5 '行の挿入 Rows(i).Insert ' セルの値を代入 For k = 6 To cmax + 1 buf(i + 1, k) = Cells(i + 1, k).Formula Cells(i + 1, k).Select Next ' 行の挿入 Rows(i).Insert ' セルに値を代入 Cells(i + 1, 5).Value = Cells(i + 2, 5).Value For k = 6 To rmax + 1 Cells(i + 1, k).Select Cells(i + 1, k).Formula = buf(i + 1, k) Next ' セルの値を削除 Range(Cells(i + 2, 5), Cells(i + 2, rmax + 1)).ClearContents ' セルの値と数式代入 Cells(i, 5).Value = "金額" Cells(i + 2, 5).Value = "合計" For k = 6 To rmax Cells(i, k).Value = _ Cells(i - 1, 4).Value * Cells(i - 1, k).Value Cells(i + 2, k).Value = _ Cells(i - 1, 4).Value * Cells(i - 1, k).Value _ - Cells(i - 2, 4).Value * Cells(i - 2, k).Value Next Next
End Sub
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。