我是所有这些宏观事物的新手并且之前没有使用过,所以可以提供一些帮助。
我已经设置了一个宏来从模板和信息列表创建一个新的报价。我有一张名为Summery的表,其中包含客户信息等,所有这些信息都需要添加到报价模板中。我创建了一个基本的宏,它完成了这项工作,但我现在需要它为列出的每个客户做同样的事情。目前它只在第一行运行。 请有人协助我使用哪些代码来运行整个客户列表?
Sub Macro2()
'
' Macro2 Macro
' Create New Quote for each customer
'
' Keyboard Shortcut: Ctrl+q
Sheets("Master").Select
Sheets("Master").Copy After:=Sheets(2)
Range("A13").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-9]C[1]"
Range("A15").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-11]C[2]"
Range("E13").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-9]C[-1]"
Range("E15").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-11]C"
Range("B19").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-15]C[5]"
Range("B20").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-16]C[6]"
Range("B21").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-17]C[7]"
Range("B22").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-18]C[8]"
Range("B23").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-19]C[9]"
Range("B24").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-20]C[10]"
Range("B25").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-21]C[11]"
Range("B26").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-22]C[12]"
Range("B27").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-23]C[13]"
Range("B28").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-24]C[14]"
Range("B30").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-26]C[15]"
Range("B31").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-27]C[16]"
Range("B32").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-28]C[17]"
Range("B33").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-29]C[18]"
Range("B34").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-30]C[19]"
Range("B35").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-31]C[20]"
Range("B36").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-32]C[21]"
Range("B37").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-33]C[22]"
Range("B38").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-34]C[23]"
Range("B39").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-35]C[24]"
Range("A40:D40").Select
ActiveWindow.SmallScroll Down:=9
Range("B41").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-37]C[25]"
Range("B42").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-38]C[26]"
Range("B43").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-39]C[27]"
Range("B45").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-41]C[28]"
Range("B47").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-43]C[29]"
Range("B48").Select
ActiveWindow.SmallScroll Down:=-9
Range("C19").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-15]C[30]"
Range("C20").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-16]C[31]"
Range("C21").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-17]C[32]"
Range("C22").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-18]C[33]"
Range("C23").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-19]C[34]"
Range("C24").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-20]C[35]"
Range("C25").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-21]C[36]"
Range("C26").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-22]C[37]"
Range("C27").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-23]C[38]"
Range("C28").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-24]C[39]"
Range("C30").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-26]C[40]"
Range("C31").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-27]C[41]"
Range("C32").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-28]C[42]"
Range("C33").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-29]C[43]"
Range("C34").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-30]C[44]"
Range("C35").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-31]C[45]"
Range("C36").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-32]C[46]"
Range("C37").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-33]C[47]"
Range("C38").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-34]C[48]"
Range("C39").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-35]C[49]"
Range("A40:D40").Select
ActiveWindow.SmallScroll Down:=15
Range("C41").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-37]C[50]"
Range("C42").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-38]C[51]"
Range("C43").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-39]C[52]"
Range("C45").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-41]C[53]"
Range("C47").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-43]C[54]"
Range("C48").Select
ActiveSheet.Name = Range("A13").Value
End Sub
由于
答案 0 :(得分:0)
你的要求非常不明确,我们甚至不知道你的总结是什么。表格看起来像(也许是一个错字)。所以我正在编写这段代码,让您了解如何实现这一目标。只需更改对“夏日”的引用即可。根据您的要求设置表格或使其动态化。
Sub do_random()
last_row = ThisWorkbook.Worksheets("Summery").Cells(1, 1).End(xlDown).Row
For i = 1 To last_row
Sheets("Master").Select
Sheets("Master").Copy After:=Sheets(2)
Range("A13").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-9]C[1]"
Range("A15").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-11]C[2]"
Range("E13").Select
ActiveCell.FormulaR1C1 = "=Summery!R[-9]C[-1]"
....
'Do what ever you want in here.
Next i
End Sub