- ベストアンサー
エクセル 行挿入のマクロについて
- エクセルのマクロを使って、在庫数の数だけ行を挿入する方法について教えてください。
- 在庫数の数だけその連番の行を増やす方法について、エクセルのマクロを使うか、他の方法があれば教えてください。
- エクセルのマクロを使って、在庫数を参照して連番の行を増やす方法について教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! C列の在庫数だけA・B列を表示して、C列には必ず「1」が連続する最初の行のみ表示すれば良いわけですかね? 一応そういうことだとしての一例です。 データは2行目からあるとしています。 Sub test() Dim i As Long For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1 If Cells(i, 3) > 1 Then Rows(i + 1 & ":" & i + Cells(i, 3) - 1).Insert End If Next i i = Cells(Rows.Count, 1).End(xlUp).Row If Cells(i, 3) > 1 Then i = i + Cells(i, 3) - 1 End If For i = 2 To i If Cells(i, 3) <> "" Then Cells(i, 3) = 1 End If If Cells(i, 2) = "" Then Cells(i, 1) = Cells(i - 1, 1) Cells(i, 2) = Cells(i - 1, 2) End If Next i End Sub こんな感じではどうでしょうか? 尚、一旦マクロを実行すると元に戻せませんので、別Sheetにコピー&ペーストしてマクロを試してみてください。 参考になれば良いのですが・・・m(__)m
その他の回答 (1)
- tom04
- ベストアンサー率49% (2537/5117)
No.1です! 続けてお邪魔します。 補足を読ませていただきました。 前回のコードは2行目以降を操作するようにしていますので、 1行目はどんなタイトルでも(タイトルがあってもなくても)構いません。 まずデータの最終行から上の行に向かってC列の数値より1行少ない行をを挿入しています。 次に2行目以降下に向かってC列にデータがあれば「1」を表示させ B列(本来はA列でも良かった)が空白であれば1行上のデータを表示させるようにしていますので、 データがA~C列(C列は数値)の2行目以降にありさえすれば同じような動きになるはずです。 お役に立てば良いのですが。m(__)m
お礼
tom04 様 追加に気づいて下さりありがとうございます。 お礼にも同じ文面を記載してしまいました、すみません。 マクロの意味までお教えいただきありがとうございます。 明日までの仕事でしたので、本当に助かりました。 ありがとうございました。
お礼
tom04 様 早速のご回答ありがとうございます。 只今試してみましたが完璧でした。 ありがとうございます。 1つ追加でうかがいたいのですが、 実際のデータは職場にあり、 見出しのタイトルが今回質問した(支店名・連番・在庫数)と若干相違します。 1行目がタイトルでABCの並びはこの通りです。 お教えいただいたマクロで問題ないでしょうか? よろしくお願い致します。
補足
tom04 様 早速のご回答ありがとうございます。 只今試してみましたが完璧でした。 ありがとうございます。 1つ追加でうかがいたいのですが、 実際のデータは職場にあり、 見出しのタイトルが今回質問した(支店名・連番・在庫数)と若干相違します。 1行目がタイトルでABCの並びはこの通りです。 お教えいただいたマクロで問題ないでしょうか? よろしくお願い致します。