我希望在 excel 2013 中构建一个可以执行以下操作的宏:
从一个电子表格(电子表格 1)中的单个单元格复制数据。列永远不会改变,但行会因为它是一个不断更新的零件数据库。
将此数据从电子表格 1 粘贴到另一个电子表格(电子表格 2)中的相应单元格中。电子表格 2 中的单元格永远不会改变。
打印出这份文件。
对电子表格 1 中的下一行数据重复步骤 1-3。
注意:理想情况下,宏将允许用户突出显示电子表格 1 中他们想要复制到电子表格 2 中的数据部分。然后,该宏将打印出适用于电子表格 1 中每个行项目的电子表格 2 版本。
我欢迎任何人可以给我的任何建议。
当前代码:
Sub SOAutomator()
'
' SOAutomator Macro
'
'
Range("A4").Select
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("A5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("C4").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("A7:D7").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("D4").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("I5:K5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("E4").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("E5:G5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("F4").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("H5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Windows("Shop Order Automator Macro.xlsm").Activate
Range("A5").Select
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("A5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("C5").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("A7:D7").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("D5").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("I5:K5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("E5").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("E5:G5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("F5").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("H5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Windows("Shop Order Automator Macro.xlsm").Activate
Range("A6").Select
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("A5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("C6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("A7:D7").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("D6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("I5:K5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("E6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("E5:G5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("F6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("H5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Windows("Shop Order Automator Macro.xlsm").Activate
Range("A7").Select
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("A5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("C7").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("A7:D7").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("D7").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("I5:K5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("E7").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("E5:G5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("F7").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("H5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Windows("Shop Order Automator Macro.xlsm").Activate
Range("A8").Select
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("A5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("C8").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("A7:D7").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("D8").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("I5:K5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("E8").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("E5:G5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("F8").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("H5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Windows("Shop Order Automator Macro.xlsm").Activate
Range("A9").Select
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("A5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("C9").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("A7:D7").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("D9").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("I5:K5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("E9").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("E5:G5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("F9").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("H5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Windows("Shop Order Automator Macro.xlsm").Activate
Range("A10").Select
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("A5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("C10").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("A7:D7").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("D10").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("I5:K5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("E10").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("E5:G5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("F10").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("H5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Windows("Shop Order Automator Macro.xlsm").Activate
Range("A11").Select
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("A5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("C11").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("A7:D7").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("D11").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("I5:K5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("E11").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("E5:G5").Select
ActiveSheet.Paste
Windows("Shop Order Automator Macro.xlsm").Activate
Range("F11").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Job Sheet Templates.xlsx").Activate
Range("H5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Windows("Shop Order Automator Macro.xlsm").Activate
End Sub