我正在尝试使用此宏来检查标题为" Model"的工作表中的团队名称,然后签入标题为" OffensiveStatsPerGame"的工作表。如果这两个具有相同的名称,它会在标题为" Model"的工作表中输入一个值。这是首次检查的团队名称列中的一列。我希望它输入的值是" OffensiveStatsPerGame"工作表6列从其检查以查看团队名称是否匹配。
Sub findThreePointAttempted()
Dim x As Integer, z As Integer, i As Variant, j As Integer, ThreePointAttempts As Integer, toadd As Boolean
Worksheets("OffensiveStatsPerGame").Activate
x = Application.WorksheetFunction.CountA(Range("A1").EntireColumn)
Worksheets("Model").Activate
b = Application.WorksheetFunction.CountA(Range("A1").EntireColumn)
For i = 1 To b
For j = 1 To x
If Model.Cells(i, 0) = OffensiveStatsPerGame.Cells(j, 1) Then
toadd = True
If toadd = True Then
Worksheets("OffensiveStatsPerGame").Activate
ThreePointAttempts = OffensiveStatsPerGame.Cells(j, 1).Offset(0, 6)
Worksheets("Model").Activate
Model.Cells(i, 1) = ThreePointAttempts
Else
End If
Else
End If
Next j
Next i
End Sub
上面的代码给了我一个
运行时错误424:需要对象
答案 0 :(得分:0)
你没有设置"模型"任何事情。因为你正在激活你的"模型"表格,然后你不需要调用该对象。
此外,Cells(i, 0)
不存在,因为列的最低编号是1.您需要将该编号更改为要将值进行比较的列编号。
Sub findThreePointAttempted()
Dim x As Integer, i As Integer, b as Integer, j As Integer, ThreePointAttempts As Integer
Worksheets("OffensiveStatsPerGame").Activate
x = Application.WorksheetFunction.CountA(Range("A1").EntireColumn)
Worksheets("Model").Activate
b = Application.WorksheetFunction.CountA(Range("A1").EntireColumn)
For i = 1 To b
For j = 1 To x
ThreePointAttempts = Worksheets("OffensiveStatsPerGame").Cells(j, 1)
If Cells(i, [change this value]) = ThreePointAttempts Then
Cells(i, 1) = ThreePointAttempts
Else
End If
Next j
Next i
End Sub