首页 > 解决方案 > 卡在 VBA 引用中

问题描述

我已经很感激任何答案。

我非常卡在我的工作中正在开发的编程阶段。我试图应用的逻辑是基于创建一个新的工作簿,其中包含在高级过滤器中收集的信息并粘贴该内容、重命名、关闭 e 等与其他项目。该代码在前两项中运行良好,但不适用于其余项目。我不确定我解释得很好,但我认为你们可以理解描述:


Application.DisplayAlerts = False

If Target.Row = 2 And Target.Column = 9 Then
    
Range("A16").CurrentRegion.AdvancedFilter xlFilterInPlace, Range("A1:I2").Cells
Range("A16").CurrentRegion.Copy
Workbooks.Add.Activate
ActiveSheet.PasteSpecial
ActiveSheet.Range("A1").CurrentRegion
With Selection
        .HorizontalAlignment = xlLeft
        .VerticalAlignment = xlCenter
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
        End With
ActiveSheet.Range("A1").CurrentRegion.Columns.AutoFit
ActiveSheet.Range("A1").CurrentRegion.RowHeight = 20
ActiveWorkbook.SaveAs Filename:=Range("I2") & " - Name.xlsx", FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close
Worksheets("20OUT A 27OUT2021").Range("I3").Select
Selection.Cut Destination:=Range("I2")

ElseIf Target.Row = 2 And Target.Column = 9 Then
    
Range("A16").CurrentRegion.AdvancedFilter xlFilterInPlace, Range("A1:I2").Cells
Range("A16").CurrentRegion.Copy
Workbooks.Add.Activate
ActiveSheet.PasteSpecial
ActiveSheet.Range("A1").CurrentRegion
With Selection
        .HorizontalAlignment = xlLeft
        .VerticalAlignment = xlCenter
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
        End With
ActiveSheet.Range("A1").CurrentRegion.Columns.AutoFit
ActiveSheet.Range("A1").CurrentRegion.RowHeight = 20
ActiveWorkbook.SaveAs Filename:=Range("I2") & " - Name.xlsx", FileFormat:=xlOpenXMLWorkbook
Worksheets("20OUT A 27OUT2021").Range("I4").Select
Selection.Cut Destination:=Range("I2")


ElseIf Target.Row = 2 And Target.Column = 9 Then
    
Range("A16").CurrentRegion.AdvancedFilter xlFilterInPlace, Range("A1:I2").CurrentRegion
Range("A16").CurrentRegion.Copy
Workbooks.Add.Activate
ActiveSheet.PasteSpecial
ActiveSheet.Range("A1").CurrentRegion
With Selection
        .HorizontalAlignment = xlLeft
        .VerticalAlignment = xlCenter
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
        End With
ActiveSheet.Range("A1").CurrentRegion.Columns.AutoFit
ActiveSheet.Range("A1").CurrentRegion.RowHeight = 20
ActiveWorkbook.SaveAs Filename:=Range("I2") & " - Name.xlsx", FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close
Worksheets("20OUT A 27OUT2021").Range("I5").Select
Selection.Cut Destination:=Range("I2")```

标签: excelvba

解决方案


推荐阅读