【发布时间】:2019-05-21 12:36:32
【问题描述】:
我有一个包含 4 个工作表的工作簿,每个工作表用于 2019 年的一个季度。
我想编写一个函数来检查活动单元格的输入是否是从活动单元格行到最后一个工作表末尾的副本。
Function checkDuplicate(ByVal ChangedCell As Range) As Boolean
TelNo = ChangedCell.Value
Range(ActiveCell.Address).Name = "StartCell"
For i = ActiveSheet.Index To ActiveWorkbook.Worksheets.count
Worksheets(i).Activate
With Worksheets(i)
Set rng = Cells.Find(What:=TelNo, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
End With
Next i
Application.Goto "StartCell"
If rng Is Nothing Then
checkDuplicate = False
Else
checkDuplicate = True
End If
但是,它似乎甚至无法在活动单元格下方的行中找到重复的值。
【问题讨论】:
-
'TelNo' 是否初始化为一个值?你有没有通过调试器运行它来检查它在寻找什么?
-
是的,我使用了 MsgBox 并验证它可以显示值
-
你能多加一点代码吗?就像变量的初始化一样。