はじめての親子ハイキングに挑戦!! >>

エクセル3013
A表を元に箱数より行を追加して端数に数量を入れる
必要な項目は品番、在庫数=端数の列になります。

マクロなど何か簡単に処理できる方法をご教授頂ければ幸いです。

わかりにくい質問表現で申し訳ありませんが、どうぞよろしくお願いいたします。

A表

品番 在庫数量 箱数 端数 入数
ガム  10 10 30
あめ  90  3 30
チョコ 76  3  1 25
クッキー 31  1  1 30
ラムネ 72  2 12 30
あられ 20 20 30
----------------------------------------------
B表
品番 在庫数量 箱数 端数 入数
ガム 10 10 30
あめ 90 3 30 30
あめ 30
あめ 30
チョコ  76 3 1 25
チョコ 25
チョコ 25
チョコ 25
クッキー 31 1 1 30
クッキー 30
ラムネ  72 2 12 30
ラムネ 30
ラムネ 30
あられ  20 20 30

投稿すると表が崩れてしまうので画像も添付いたします。

「EXCEL 自動的に行を追加して表を完成」の質問画像

質問者からの補足コメント

  • 説明不足で申し訳ありません。

    A表を元にB表が完成となります。

      補足日時:2019/05/09 14:45
  • 追加のデーターはございません。
    また、日付けも必要ありません

      補足日時:2019/05/09 15:05
  • 行数が数百件程になるので、手作業での作業では困難な為、
    マクロなど自動で簡略化できればと思っています。

      補足日時:2019/05/09 15:33

A 回答 (8件)

こんにちは



処理に明らかな法則性が見られない上に、説明もなく結果しか提示されていないので、勝手に想定しています。
「あめ」と「クッキー」だけを特別扱いするロジックとして処理しました。

ご提示の結果の表とほぼ同じものが出来上がります。
(実は1か所違いますが、これは勝手に誤記と判断して敢えてそのままです)
下記は、あくまでも不明のまま勝手に作成したサンプルですので、ロジックが異なる意場合は、適当に変更してください。

Sub Sample()
Dim rg As Range, tmp As Range
Dim rw As Long, num As Long

For rw = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
 Set rg = Cells(rw, 1)
 num = rg.Offset(, 2).Value
 If rg.Value = "あめ" Then num = num - 1
 If num > 0 Then
  rg.Offset(1).Resize(num).EntireRow.Insert
  rg.Offset(1).Resize(num).Value = rg.Value
  Set tmp = rg.Offset(1, 4).Resize(num)
  If rg.Value = "あめ" Or rg.Value = "クッキー" Then Set tmp = tmp.Offset(, -1)
  tmp.Value = rg.Offset(, 4).Value
 End If
Next rw

End Sub
    • good
    • 0
この回答へのお礼

fujillin様
ご回答、ありがとうございます。
しかし、プログラムは未熟な為、どのように使っていいのか・・・
お手数お掛けし、ごめんなさい。

お礼日時:2019/05/09 17:56

お使いのシートタブを右クリック、コードの表示をクリック、Generalと表示されているリストがあるので、▽をクリック、Worksheetを選択、その右にもリストがあり、


Changeを選択、すると次の様に表示されます。
Private Sub Worksheet_Change(ByVal Target As Range)

End sub
そこへ、次のコードを貼り付けて終わりです。
Dim k, d
If Target.Column = 4 Then
If Cells(Target.Row, 3) <> "" Then
If Cells(Target.Row, 4) <> "" Then k = 1
Rows(Target.Row + 1 & ":" & Target.Row + Cells(Target.Row, 3).Value - 1 + k).Insert
End If
End If
もし使いにくければ捨てて結構です。
    • good
    • 0

No.6さんと同様、法則性が分かりません。


クッキー  31  1  1  30
クッキー       30

この部分です。上のチョコの場合は、入数か25になっているのに、
マクロで試しにつくってみたら、質問者さんの図では、クッキーは端数に30が入っています。
どういう法則性があるのか分かりません。
「EXCEL 自動的に行を追加して表を完成」の回答画像7
    • good
    • 0

であれば、既存のデータにも、追加するデータに対しても、日付がないと何のデータだかさっぱりだと思いますが?

    • good
    • 0

ん?では、これが完成なら他に何をしたいのでしょうか?

    • good
    • 0

ちなみに日付などは不要なのですか?

    • good
    • 0

その追加データはどこから?

    • good
    • 0

質問がわからない。

結果このデータをどうできれば正解なの?どうしたいの?
それをベタ打ちで画像見せて。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング