将数据插入不同表格中的单元格(Excel& VBA)

时间:2018-06-05 23:41:18

标签: excel vba excel-vba

我有一个完整的代码,可以完成各种有趣的事情。它所做的一件事是根据同一张纸上的管理表验证一些东西。

此管理员表格将移至另一张表格(" 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"表格未激活?

更改代码执行此操作的最简单方法是什么,而不必重写大部分内容?

由于

1 个答案:

答案 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