• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:タグを作りたいのです)

料理に関するもので仕込み表を作成したい方法

このQ&Aのポイント
  • 料理に関するもので仕込み表を作成したい方法についてご相談です。エクセルを使用して、日付や時間、席名、会場名、人数、宴会形式を入力するシートを作成し、メニュー名とその付け合せ、必要数を記入する方法を教えてください。
  • また、仕込んだ食材がどの宴会のどのメニューに使うものなのかを判別できるタグを印刷して貼り付ける方法についてもアドバイスをお願いします。タグには日付や時間、席名、人数、宴会形式、メニュー名、付け合せ、必要数を反映させ、空白の場合は順に詰めるようにしたいです。
  • 料理人が仕込みをするために、エクセルで仕込み表とタグを作成したいです。どなたかアドバイスをいただけますか?

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

  • ベストアンサー
  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

>Sheet1で空白になっている場合は順に詰める この↑事と 材料の並びが、途中に結合セルが有る事により かなり複雑な関数を組まないと出来ないと思います それで、VBAでやってみました Sheet2のタグの位置関係がよく判らないのですが、一応次の様にしました  タグ1の左上のセルはB1  タグは右に5列、下に7行づつずれる  日付、宴会名、形式、人数は位置が決まっているので、コピーする  (例:Sheet2のB1は =Sheet2!F3 とする) したがって、このVBAは、MENU名、材料名、材料数のみを並べてコピーします 以下のVBAを「標準モジュール」で実行します --------------- Sub Mc1()   Dim Zai(6)   Dim Suu(6)   zl = 8   s2wsNo = 1   Sheet1.Select   Do Until Cells(zl, "C") = "" ' Sheet1 読み込み     rn = Cells(zl, "C")     For i = 1 To 6       Zai(i) = ""       Suu(i) = ""     Next     Do       If Cells(zl + 1, "C") <> "" Then         Zai(1) = Cells(zl + 1, "C")         Suu(1) = Cells(zl + 2, "C")       Else         Exit Do       End If       If Cells(zl + 1, "D") <> "" Then         Zai(2) = Cells(zl + 1, "D")         Suu(2) = Cells(zl + 2, "D")       Else         Exit Do       End If       If Cells(zl + 1, "E") <> "" Then         Zai(3) = Cells(zl + 1, "E")         Suu(3) = Cells(zl + 2, "E")       Else         Exit Do       End If       If Cells(zl + 1, "G") <> "" Then         Zai(4) = Cells(zl + 1, "G")         Suu(4) = Cells(zl + 2, "G")       Else         Exit Do       End If       If Cells(zl + 1, "I") <> "" Then         Zai(5) = Cells(zl + 1, "I")         Suu(5) = Cells(zl + 2, "I")       Else         Exit Do       End If       Exit Do     Loop ' Sheet2 書込み     Sheet2.Select     dNo = 1     Do Until Zai(dNo) = ""       c = ((s2wsNo + 2) Mod 3)       l = Int((s2wsNo - 1) / 3)       Cells(l * 7 + 4, c * 5 + 2) = rn       Cells(l * 7 + 5, c * 5 + 2) = Zai(dNo)       Cells(l * 7 + 5, c * 5 + 5) = Suu(dNo)       dNo = dNo + 1       s2wsNo = s2wsNo + 1     Loop     zl = zl + 4     Sheet1.Select   Loop End Sub ---------------------

Lordmatic
質問者

お礼

ASIMOV様 ご回答有難うございます。 Excelに関してはほとんど初心者なのでVBAはまったくわからないのですが、コピペで何とかなりました。 お陰様で労働時間の短縮につながります。 有難うございました。