Excel宏与模板,想要使用它许多不同的报告,但他们坚持它

时间:2015-09-16 11:27:03

标签: excel vba excel-vba

我使用下面提到的宏模板来格式化我的日常报告, 但问题是,它只是在一个特定的名称表(Archroma Pakistan Ltd.xls)上工作,我想用它来再发表35份报告,例如:

" Al-Fazal Associates(Pvt)Ltd。"
" Capital Assets Leasing Corporation Limited"
" Carvan Carriage Company(Chevron 425)"

Sub Macro17()
    '
    ' Macro17 Macro
    ' loc
    '
    ' Keyboard Shortcut: Ctrl+Shift+O
    '
    Columns("F:R").Select
    Selection.Delete Shift:=xlToLeft
    Columns("G:K").Select
    Selection.Delete Shift:=xlToLeft
    Range("A1").Select
    'Windows("UEPL - Copy.xls").Activate
    Windows("**Archroma Pakistan Ltd.xls**").Activate
    Range("A3").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Copy
    Workbooks.Add Template:= "\\172.16.4.241\Analysis\NR Status11.xltm"
    'Windows("NR Status11").Activate
    Windows("NR Status111").Activate
    Range("A14").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Range("A15").Select
    Selection.End(xlDown).Select
    Selection.End(xlUp).Select
    Rows("24:24").Select
    Application.CutCopyMode = False
    Selection.Copy
    ActiveWindow.ScrollRow = 15
    ActiveWindow.ScrollRow = 17
    ActiveWindow.ScrollRow = 19
    ActiveWindow.ScrollRow = 22
    ActiveWindow.ScrollRow = 24
    ActiveWindow.ScrollRow = 26
    ActiveWindow.ScrollRow = 29
    ActiveWindow.ScrollRow = 31
    ActiveWindow.ScrollRow = 35
    ActiveWindow.ScrollRow = 38
    ActiveWindow.ScrollRow = 43
    ActiveWindow.ScrollRow = 48
    ActiveWindow.ScrollRow = 53
    ActiveWindow.ScrollRow = 59
    ActiveWindow.ScrollRow = 67
    ActiveWindow.ScrollRow = 76
    ActiveWindow.ScrollRow = 85
    ActiveWindow.ScrollRow = 99
    ActiveWindow.ScrollRow = 112
    ActiveWindow.ScrollRow = 124
    ActiveWindow.ScrollRow = 136
    ActiveWindow.ScrollRow = 148
    ActiveWindow.ScrollRow = 160
    ActiveWindow.ScrollRow = 171
    ActiveWindow.ScrollRow = 181
    ActiveWindow.ScrollRow = 189
    ActiveWindow.ScrollRow = 198
    ActiveWindow.ScrollRow = 204
    ActiveWindow.ScrollRow = 211
    ActiveWindow.ScrollRow = 216
    ActiveWindow.ScrollRow = 218
    ActiveWindow.SmallScroll Down:=12
    Rows("24:231").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("A21").Select
    Selection.End(xlDown).Select
    Range("A2:B2").Select
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Selection.Merge
    Range("A1").Select

2 个答案:

答案 0 :(得分:0)

希望你知道错误是否正确。

Windows("**Archroma Pakistan Ltd.xls**").Activate

因此,如果您还需要为其他人工作,则需要将该名称更改为相关的工作表名称。希望所有报告都采用相同的格式。

答案 1 :(得分:0)

然后尝试这个答案。

ActiveWorkbook.ActiveSheet.select 

而不是上面的