在我的代码中,我使用两个const script = document.createElement('script');
script.innerHTML = `
const originalAlert = window.alert;
window.alert = (msg) => {
originalAlert(msg === 'hello' ? 'bye' : msg);
};
`;
document.body.appendChild(script);
实例,并结合一个.Find
。众所周知,这容易出错,但我也不例外。但是,这是我能想到的最好的方法。下面的代码,我剥离了最不相关的内容。
问题是存在重复的值,我想两个都保留,所以我决定使用.FindNext
,如果重复,请使用:
.Findnext
这里的问题是If newqst = refqst Then
Set newqstadrs = Findrange.FindNext(after:=lstqstadrs)
Else
不尊重它应该在.FindNext
上继续,而是继续在这里使用的Findrange.Find
上:
FindRangeTwo.Find
完整代码:
newrowtwo = FindRangeTwo.Find(rCell.Value, LookIn:=xlValues, lookat:=xlWhole).row
答案 0 :(得分:2)
您只能有一对“查找/查找下一个”对。第二个优先于第一个。您需要替代方法FindRangeTwo。鉴于FindRangeTwo是单个列(gewaskolom),并且您正在寻找该行,所以application.match应该做得很好。
这样的事情,
dim newrowtwo as variant '<~~ should be variant type for IsError to catch
...
newrowtwo = application.match(rCell.Value, FindRangeTwo, 0)
if not iserror(newrowtwo) then
...
end if
...
请注意,application.match返回的是FindRangeTwo内的位置,而不是工作表上的行。工作表上的实际行将是(newrowtwo + newrow-1)。