我有一张工作表,会定期更新数据库中重复记录的详细信息。
我正在尝试创建一个搜索特定记录的宏,但是因为我是Excel VBA的新手,我正在努力。
我目前的代码如下: 有更多的名字(确切地说是21,但是为了节省时间,我已经删除了这些名字)
@Override
public void onPostExecute(List<Modules> result) {
if (pDialog.isShowing()){
RecyclerView.LayoutManager Manager =new LinearLayoutManager(DepartureModule.this);
RecyclerView.Adapter adapter = new ModuleAdapter(result);
RecyclerView RVODetails = (RecyclerView) findViewById(R.id.RVODetails);
RVODetails.setLayoutManager(Manager);
RVODetails.setAdapter(adapter);
pDialog.dismiss();
}
宏将运行但是在测试时我得到msgbox没有找到代理候选者,尽管其中一个名称有条目。
我正在努力弄清楚我哪里出错了,并希望得到任何帮助。
答案 0 :(得分:0)
你需要将错误的回报拉出循环,否则即使匹配也会得到至少20个假。
并且您不需要外部循环,因为FIND会将整个范围视为一个。
Dim lnglastrow As Long
Dim intnamemax As Integer
Dim strName() As String
Dim fnd As Boolean
intnamemax = 21
ReDim strName(1 To intnamemax)
strName(1) = "Bob Smith"
strName(2) = "Rhys Jones"
strName(3) = "Rebecca Hickling"
lnglastrow = ActiveSheet.UsedRange.Rows.Count
For i = 1 To intnamemax
Set c = Range("A2:A" & lnglastrow).Find(strName(i), LookIn:=xlValues)
If Not c Is Nothing Then
MsgBox "Proxy Candidate Found at " & c.Address
fnd = True
Exit For
End If
Next i
If Not fnd Then
MsgBox "No Proxy Candidates Found ", vbOKOnly, "Success!"
End If
End Sub