For Each语句的VBA错误1004

时间:2014-09-30 17:50:39

标签: excel vba

所以我是VBA编码世界的新手,我正在建立一个工作效率跟踪器,只是为了帮助。 结果是代码在单元格中粘贴excel公式,但单元格将由2个单独的范围引用,这些范围又创建单个工作表。

我的代码目前可能不必要地笨重但我正在尝试。

目前我在第一个'For Each'声明中收到错误1004。

真的很感激这方面的一些帮助。感谢

Sub InsertStatsFormula()
Dim cellno As Excel.Range
Dim cell2 As Excel.Range
Dim Ptracker As Excel.Workbook
Dim wsTStats As Excel.Worksheet
Dim OutcomeColNo As Integer
Dim RowNo As Integer


Set Ptracker = ActiveWorkbook
Set wsTStats = Ptracker.Worksheets("Team Stats")
RowNo = 5
With Ptracker
For Each cellno In Ptracker.Worksheets("Setup").Range("B8", Range("B8").End(xlDown))

    For Each cell2 In Worksheets("Setup").Range("G11", Range("G11").End(xlDown))
        OutcomeColNo = wsTStats.Cells.Find(What:=cell2.Value, After:=[b4], SearchDirection:=xlToRight).Column
        wsTStats.Cells(RowNo, OutcomeColNo) = "=" & wsTStats.Cells(RowNo, 2) & "!I" & OutcomeColNo
    Next cell2

RowNo = RowNo + 1
Next cellno
End With
End Sub

1 个答案:

答案 0 :(得分:0)

我最好的猜测是,Range("B8").End(xlDown)没有指定执行Range("B8").End(xlDown)的工作表。请尝试改为:

Ptracker.Worksheets("Setup").Range("B8", Ptracker.Worksheets("Setup").Range("B8").End(xlDown))

您还需要在下一个For Each声明中进行更改。

最后,VBA是一种庞大的语言。您的代码看起来很适合成为该语言的新手。