复制Excel工作表并从ActivityOrg工作表中的值更改复制的工作表上的A1(A1:A32)

时间:2015-07-06 18:35:48

标签: vba excel-vba excel

我有一个包含3个工作表,数据,activityorg和reportemplate的Excel工作簿。在我的reporttemplate中,我创建了一个宏,它根据reporttemplate的A1中的activityorg填充报表。如果我在reporttemplate的A1中输入值,则数据将更改。我试图避免手动创建32个不同的报告。有没有办法改变宏(macRPT)并为每个activityorg(32)创建不同的工作表?

财年四分之一1-4 = COUNTIFS(ActivityReport $ T $ 2:$ T $ 8651,1,ActivityReport $ U $ 2:$ U $ 8651,FY,ActivityReport $ V $ 2:$ V $ 8651,A3,ActivityReport $ G $ 2:$ G $ 8651,$ A $ 1)

财政年度当前和透明 = COUNTIFS(ActivityReport $ U $ 2:$ U $ 8651,FY,ActivityReport $ V $ 2:$ V $ 8651,A3,ActivityReport $ G $ 2:$ G $ 8651,$ A $ 1)

= COUNTIFS(ActivityReport $ U $ 2:$ 8651 U $,FY-1,ActivityReport $ V $ 2:$ V $ 8651,A3,ActivityReport $ G $ 2:$ G $ 8651,$ A $ 1)

Sub macRPT()

Range("B3").Select
ActiveCell.FormulaR1C1 = _
    "=COUNTIFS(ActivityReport!R2C20:R8651C20,1,ActivityReport!R2C21:R8651C21,FY,ActivityReport!R2C22:R8651C22,RC[-1]ActivityReport!R2C7:R8651C7,R1C1)"
Range("B3").Select
Selection.AutoFill Destination:=Range("B3:B9"), Type:=xlFillDefault
Range("B3:B9").Select
Range("B9").Select
Selection.Copy
Range("B11").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("B11:B13"), Type:=xlFillDefault
Range("B11:B13").Select
Range("B3").Select
Selection.AutoFill Destination:=Range("B3:E3"), Type:=xlFillDefault
Range("B3:E3").Select
Range("C3").Select
ActiveCell.FormulaR1C1 = _
    "=COUNTIFS(ActivityReport!R2C20:R8651C20,2,ActivityReport!R2C21:R8651C21,FY,ActivityReport!R2C22:R8651C22,RC[-2],ActivityReport!R2C7:R8651C7,R1C1)"
Range("C3").Select
Selection.AutoFill Destination:=Range("C3:C9"), Type:=xlFillDefault
Range("C3:C9").Select
Range("C9").Select
Selection.Copy
Range("C11").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("C11:C13"), Type:=xlFillDefault
Range("C11:C13").Select
Range("D3").Select
ActiveCell.FormulaR1C1 = _
    "=COUNTIFS(ActivityReport!R2C20:R8651C20,3,ActivityReport!R2C21:R8651C21,FY,ActivityReport!R2C22:R8651C22,RC[-3],ActivityReport!R2C7:R8651C7,R1C1)"
Range("D3").Select
Selection.AutoFill Destination:=Range("D3:D9"), Type:=xlFillDefault
Range("D3:D9").Select
Range("D9").Select
Selection.Copy
Range("D11").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("D11:D13"), Type:=xlFillDefault
Range("D11:D13").Select
Range("E3").Select
ActiveCell.FormulaR1C1 = _
    "=COUNTIFS(ActivityReport!R2C20:R8651C20,4,ActivityReport!R2C21:R8651C21,FY,ActivityReport!R2C22:R8651C22,RC[-4],ActivityReport!R2C7:R8651C7,R1C1)"
Range("E3").Select
Selection.AutoFill Destination:=Range("E3:E9"), Type:=xlFillDefault
Range("E3:E9").Select
Range("E9").Select
Selection.Copy
Range("E11").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("E11:E13"), Type:=xlFillDefault
Range("E11:E13").Select
Range("F3").Select
ActiveCell.FormulaR1C1 = _
    "=COUNTIFS(ActivityReport!R2C21:R8651C21,FY,ActivityReport!R2C22:R8651C22,RC[-5],ActivityReport!R2C7:R8651C7,R1C1)"
Range("F3").Select
Selection.AutoFill Destination:=Range("F3:F9"), Type:=xlFillDefault
Range("F3:F9").Select
Range("F9").Select
Selection.Copy
Range("F11").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("F11:F13"), Type:=xlFillDefault
Range("F11:F13").Select
Range("F3").Select
Selection.AutoFill Destination:=Range("F3:G3"), Type:=xlFillDefault
Range("F3:G3").Select
Range("G3").Select
ActiveCell.FormulaR1C1 = _
    "=COUNTIFS(ActivityReport!R2C21:R8651C21,FY-1,ActivityReport!R2C22:R8651C22,RC[-5],ActivityReport!R2C7:R8651C7,R1C1)"
Range("G3").Select
ActiveCell.FormulaR1C1 = _
    "=COUNTIFS(ActivityReport!R2C21:R8651C21,FY-1,ActivityReport!R2C22:R8651C22,RC[-6],ActivityReport!R2C7:R8651C7,R1C1)"
Range("G3").Select
Selection.AutoFill Destination:=Range("G3:G9"), Type:=xlFillDefault
Range("G3:G9").Select
Range("G9").Select
Selection.Copy
Range("G11").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("G11:G13"), Type:=xlFillDefault
Range("G11:G13").Select

' System Wide
Range("B17").Select
ActiveCell.FormulaR1C1 = _
    "=COUNTIFS(ActivityReport!R2C20:R8651C20,1,ActivityReport!R2C21:R8651C21,FY,ActivityReport!R2C22:R8651C22,RC[-1])"
Range("B17").Select
Selection.AutoFill Destination:=Range("B17:B23"), Type:=xlFillDefault
Range("B17:B23").Select
Selection.Copy
Range("B23").Select
Application.CutCopyMode = False
Selection.Copy
Range("B25").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("B25:B27"), Type:=xlFillDefault
Range("B25:B27").Select
Range("B17").Select
Selection.AutoFill Destination:=Range("B17:E17"), Type:=xlFillDefault
Range("B17:E17").Select
Range("C17").Select
ActiveCell.FormulaR1C1 = _
    "=COUNTIFS(ActivityReport!R2C20:R8651C20,2,ActivityReport!R2C21:R8651C21,FY,ActivityReport!R2C22:R8651C22,RC[-2])"
Range("C17").Select
Selection.AutoFill Destination:=Range("C17:C23"), Type:=xlFillDefault
Range("C17:C23").Select
Range("C23").Select
Selection.Copy
Range("C25").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("C25:C27"), Type:=xlFillDefault
Range("C25:C27").Select
Range("D17").Select
ActiveCell.FormulaR1C1 = _
    "=COUNTIFS(ActivityReport!R2C20:R8651C20,3,ActivityReport!R2C21:R8651C21,FY,ActivityReport!R2C22:R8651C22,RC[-3])"
Range("D17").Select
Selection.AutoFill Destination:=Range("D17:D23"), Type:=xlFillDefault
Range("D17:D23").Select
Range("D23").Select
Selection.Copy
Range("D25").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("D25:D27"), Type:=xlFillDefault
Range("D25:D27").Select
Range("E17").Select
ActiveCell.FormulaR1C1 = _
    "=COUNTIFS(ActivityReport!R2C20:R8651C20,4,ActivityReport!R2C21:R8651C21,FY,ActivityReport!R2C22:R8651C22,RC[-4])"
Range("E17").Select
Selection.AutoFill Destination:=Range("E17:E23"), Type:=xlFillDefault
Range("E17:E23").Select
Range("E23").Select
Selection.Copy
Range("E25").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("E25:E27"), Type:=xlFillDefault
Range("E25:E27").Select
Range("F17").Select
ActiveCell.FormulaR1C1 = _
    "=COUNTIFS(ActivityReport!R2C21:R8651C21,FY,ActivityReport!R2C22:R8651C22,RC[-5])"
Range("F17").Select
Selection.AutoFill Destination:=Range("F17:F23"), Type:=xlFillDefault
Range("F17:F23").Select
Range("F23").Select
Selection.Copy
Range("F25").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("F25:F27"), Type:=xlFillDefault
Range("F25:F27").Select
Range("F17").Select
Selection.AutoFill Destination:=Range("F17:G17"), Type:=xlFillDefault
Range("F17:G17").Select
Range("G17").Select
ActiveCell.FormulaR1C1 = _
    "=COUNTIFS(ActivityReport!R2C21:R8651C21,FY-1,ActivityReport!R2C22:R8651C22,RC[-5])"
Range("G17").Select
ActiveCell.FormulaR1C1 = _
    "=COUNTIFS(ActivityReport!R2C21:R8651C21,FY-1,ActivityReport!R2C22:R8651C22,RC[-6])"
Range("G17").Select
Selection.AutoFill Destination:=Range("G17:G23"), Type:=xlFillDefault
Range("G17:G23").Select
Range("G23").Select
Selection.Copy
Range("G25").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("G25:G27"), Type:=xlFillDefault
Range("G25:G27").Select
Range("G32").Select

End Sub

0 个答案:

没有答案