【问题标题】:How to define cell values to the same column for each worksheet in the workbook VBA如何为工作簿VBA中的每个工作表定义相同列的单元格值
【发布时间】:2019-02-12 17:21:55
【问题描述】:

我正在尝试为列定义单元格值,并为当前工作簿中的每个工作表重复此操作。这是我用于测试一个简单示例的代码。它仅适用于当前活动工作表,而不适用于其他工作表。代码有什么问题?

Sub test()

    Dim ws As Worksheet
    For Each ws In ActiveWorkbook.Worksheets
        With ws
            Range("F2").Value = "1"
            Range("F3").Value = "2"
            Range("F2:F3").Select
            Selection.AutoFill Destination:=Range("F2:F21"), Type:=xlFillDefault
        End With
    Next ws

End Sub

提前致谢!

【问题讨论】:

    标签: excel vba range worksheet


    【解决方案1】:

    你需要一些'.' With

    Sub test()
    
        Dim ws As Worksheet
        For Each ws In ActiveWorkbook.Worksheets
            With ws
                .Range("F2").Value = "1"
                .Range("F3").Value = "2"
                .Range("F2:F3").AutoFill Destination:=.Range("F2:F21"), Type:=xlFillDefault
            End With
        Next ws
    
    End Sub
    

    【讨论】:

    • 谢谢!现在完美运行!我还找到了另一种方法。在 For 循环中,将代码更改为: ws.Range("F2").Value = "1" ws.Range("F3").Value = "2" ws.Select ws.Range("F2:F3" ).Select Selection.AutoFill Destination:=ws.Range("F2:F21"), Type:=xlFillDefault
    • 您需要在宏中避免使用SelectSelection。它很慢而且通常没用。 SO上有很多这样的评论。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    相关资源
    最近更新 更多