对于每个带有Selection.AutoFill的工作表循环

时间:2019-08-22 16:57:31

标签: excel vba

无法编译。

Option Explicit
Sub test3()
    Dim sht As Worksheet

    For Each sht In Sheets
        sht.Range("C1").FormulaArray = "=A1&B1"
        sht.Range("C1").Select
        sht.Selection.AutoFill Destination:=Range("C1:C3"), Type:=xlFillDefault
    Next sht
End Sub

错误

  

编译错误:找不到方法或数据成员

开启:

sht.Selection.AutoFill Destination:=Range("C1:C3"), Type:=xlFillDefault

我也尝试过

Option Explicit
Sub test3()
    Dim sht As Worksheet

    For Each sht In Sheets
        sht.Range("C1").FormulaArray = "=A1&B1"
        sht.Range("C1").Select
        Selection.AutoFill Destination:=Range("C1:C3"), Type:=xlFillDefault
    Next sht
End Sub

这可以起作用,具体取决于我正在使用的工作表。例如,如果我激活了sheets(1),那么它可以在Sheets(1)上运行,但随后在Sheets(2)上出现错误:

  

运行时错误'1004':Range类的选择方法失败

1 个答案:

答案 0 :(得分:3)

这将适用于活动工作表(使用工作表数组引用活动工作簿)。

For Each sht In Sheets
    sht.Range("C1").FormulaArray = "=A1&B1"
    sht.Range("C1").AutoFill Destination:=sht.Range("C1:C3"), Type:=xlFillDefault
Next sht