【发布时间】:2021-11-16 18:25:51
【问题描述】:
使用下面的代码,我可以找到联系了多少次。为此,该公式使用命名范围(周)并在多个工作表中搜索合作伙伴名称。
我没有使用简单的公式,因为文件的变化取决于使用文件的人,所以我使用的是 VBA。
虽然下面的代码有效,但速度很慢,我想知道是否有人可以帮助我加快速度,或者可以建议我使用其他方法来获得相同的结果。
Sub ContactCycle()
Dim WsMaster As Worksheet
Dim WsLastRow As Long
Dim MyContactCycleRange As Range, cell As Range
Set WsMaster = ThisWorkbook.Worksheets("Master")
WsLastRow = WsMaster.Range("A" & Rows.Count).End(xlUp).Row
Set MyContactCycleRange = WsMaster.Range("AB5:AB" & WsLastRow)
Application.EnableEvents = False
For Each cell In MyContactCycleRange
cell.Formula = "=IF(SUMPRODUCT(COUNTIF(INDIRECT(""'""&Weeks&""'!""&""$A$6:$A$45""),$B5))>0,1,0)"
Next cell
Application.EnableEvents = True
End Sub
谢谢
【问题讨论】:
标签: excel vba find-occurrences