• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:行の一部を別シートに転記するには?)

エクセルで工程管理表を別シートに転記する方法

このQ&Aのポイント
  • VBA初心者の方がエクセルで工程管理表を別シートに転記する方法をご相談されています。現在は範囲選択してコピーする方法を使っていますが、コピペ忘れが多くて解決できません。工程管理表のB列、C列、D列すべてが入力されており、C列が'-'でない場合に作業工程表へ転記したいとのことです。また、作業者が随時入力した時点で自動的に転記されるようにしたいとのことです。
  • 工程管理表はエクセル上で複数の作業者が随時入力し、作業者の名前、日付、作業内容が記録されています。その中で、別シートにある作業工程表にB〜D列を転記したいという要望です。工程管理表のC列が'-'でない場合に転記する条件を設定したいとのことです。
  • VBAを使用して工程管理表のB列、C列、D列を別シートの作業工程表に転記する方法をご教示いただきたいとのことです。また、作業者が随時入力した時点で自動的に転記されるようにしたいとのことです。

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

  • ベストアンサー
  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.1

いくつか条件が不明なところがありますので充分な回答かどうか分かりませんが、 This Workbookに下記コードでいかがでしょうか。 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim rIdx1, rIdx2 As Long Sheets("作業工程表").Select Cells.ClearContents With Sheets("工程管理表") For rIdx1 = 1 To .Range("A65536").End(xlUp).Row If Len(.Cells(rIdx1, 2)) * Len(.Cells(rIdx1, 3)) * Len(.Cells(rIdx1, 4)) > 0 Then If .Cells(rIdx1, 3) <> "―" Then rIdx2 = rIdx2 + 1 Cells(rIdx2, 1).Value = .Cells(rIdx1, 2).Value Cells(rIdx2, 2).Value = .Cells(rIdx1, 3).Value Cells(rIdx2, 3).Value = .Cells(rIdx1, 4).Value End If End If Next End With End Sub これはブック保存直前に工程管理表をもとに作業工程表を全部書き換えています。 なんらかの都合で作業工程表に工程管理表にはない記録がある場合、消えてしまいます。 これで都合が悪い場合は、補足下さい。

mokomoko11
質問者

お礼

kigoshiさん、ありがとうございました! 試してみます!!

すると、全ての回答が全文表示されます。

関連するQ&A