在工作簿中跨多个工作表运行VBA代码
我使用下面的代码,利用工作表“上周应用程序”进行数据收集,并更新同一工作表中的计数。
我创build了一个button,我试图通过button来运行这个代码。
在执行时,我得到了错误作为“所需的对象”行
[W5] = wf.CountIf(.Range("I:I"), "Trophy")
我的代码:
Sub Prevcount() Sheets("Previous Week apps") With ActiveWorkbook.Worksheets("Previous week apps") [W5] = wf.CountIf(.Range("I:I"), "Trophy") End With With ActiveWorkbook.Worksheets("Previous week apps") [W7] = wf.CountIfs(.Range("I:I"), "Trophy", .Range("E:E"), "COMPATIBLE") End With With ActiveWorkbook.Worksheets("Previous week apps") [W9] = wf.CountIfs(.Range("I:I"), "Trophy", .Range("F:F"), "COMPATIBLE") End With With ActiveWorkbook.Worksheets("Previous week apps") [W11] = wf.CountIfs(.Range("I:I"), "Trophy", .Range("Q:Q"), "UG") End With End With End Sub
尝试使用简短版本(用ThisWorkbook
replaceActiveWorkbook
,在那里有代码):
Sub Prevcount() With ThisWorkbook.Worksheets("Previous week apps") .Range("W5").Value = WorksheetFunction.CountIf(.Range("I:I"), "Trophy") .Range("W7").Value = WorksheetFunction.CountIfs(.Range("I:I"), "Trophy", .Range("E:E"), "COMPATIBLE") .Range("W9").Value = WorksheetFunction.CountIfs(.Range("I:I"), "Trophy", .Range("F:F"), "COMPATIBLE") .Range("W11").Value = WorksheetFunction.CountIfs(.Range("I:I"), "Trophy", .Range("Q:Q"), "UG") End With End Sub