我有一个完整的代码,可以完成各种有趣的事情。它所做的一件事是根据同一张纸上的管理表验证一些东西。
此管理员表格将移至另一张表格(" admin"表格)。
当我尝试更改我的代码以在另一张纸上执行此操作时,它会给我一个错误。
admin表位于同一张表格中时的示例代码:
If LastRow = 12 Then
Sheets("Project Name & Series").Range("U12").Formula = "=IF(COUNTIFS(TEPSD!A:A,F12,TEPSD!C:C,G12,TEPSD!E:E,H12)>=1,TRUE,FALSE)"
Else
Sheets("Project Name & Series").Range("U12").Formula = "=IF(COUNTIFS(TEPSD!A:A,F12,TEPSD!C:C,G12,TEPSD!E:E,H12)>=1,TRUE,FALSE)"
Sheets("Project Name & Series").Range("U12").AutoFill Destination:=Range("U12:U" & LastRow)
End If
适用于在另一张纸上执行相同操作的代码示例:
If LastRow = 12 Then
Sheets("Admin").Range("C12").Forumla = "=IF(COUNTIFS(TEPSD!A:A,'Project Name & Series'!F12,TEPSD!C:C,'Project Name & Series'G12,TEPSD!E:E,'Project Name & Series'H12)>=1,TRUE,FALSE)"
Else
Sheets("Admin").Range("C12").Forumla = "=IF(COUNTIFS(TEPSD!A:A,'Project Name & Series'!F12,TEPSD!C:C,'Project Name & Series'G12,TEPSD!E:E,'Project Name & Series'H12)>=1,TRUE,FALSE)"
Sheets("Admin").Range("C12").AutoFill Destination:=("C12:C" & LastRow)
End If
VBA不喜欢它。我认为因为" admin"表格未激活?
更改代码执行此操作的最简单方法是什么,而不必重写大部分内容?
由于
答案 0 :(得分:1)
'Project Name & Series'G12
应为'Project Name & Series'!G12
'Project Name & Series'H12
应为'Project Name & Series'!H12
Forumla
拼写为Formula
with workSheets("Admin")
If LastRow = 12 Then
.Range("C12").Formula = "=IF(COUNTIFS(TEPSD!A:A, 'Project Name & Series'!F12, TEPSD!C:C, 'Project Name & Series'!G12, TEPSD!E:E, 'Project Name & Series'!H12)>=1, TRUE, FALSE)"
Else
.Range("C12:C" & LastRow).Formula = "=IF(COUNTIFS(TEPSD!A:A, 'Project Name & Series'!F12, TEPSD!C:C, 'Project Name & Series'!G12, TEPSD!E:E, 'Project Name & Series'!H12)>=1, TRUE, FALSE)"
End If
end with