所以我有一个Sub将运行另外两个宏,但我需要它运行第一个,然后等待1分钟,然后运行第二个
我在网上看过并收集了这个:
Sub MainExecute
stdB18
Application.Wait(Now + TimeValue(0:01:00"))
runB18
End Sub
Run Code Online (Sandbox Code Playgroud)
问题是,当我这样做时,它似乎不会等到stdB18运行之后,而是在运行任何东西之前等待1分钟.
我也尝试将wait内部runB18放在顶部,但这使得整个应用程序在运行之前也会等待.有什么方法可以让我这样做,我可以跑stdB18,然后等一分钟,然后跑runB18?
谢谢!
编辑:我需要等待的原因是因为我需要等待我的QueryTable(刷新)stdB18加载,然后执行runB18我所拥有的循环将从表中提取数据.
我已经尝试修改这里的一些类似的解决方案,但我一直陷入困境,我相信我已经解决了部分问题,但主要的警告是:
有些对象有额外的键,这使得我的对象比较逻辑毫无用处。
我正在尝试比较两个对象数组。一个数组是原始数组,另一个数组包含我想要从原始数组中删除的项目。然而,还有一个额外的问题,因为第二个数组包含额外的键,所以我的比较逻辑不起作用。
一个例子会让这更容易,假设我有以下两个数组:
const originalArray = [{id: 1, name: "darnell"}, {id: 2, name: "funboi"},
{id: 3, name: "jackson5"}, {id: 4, name: "zelensky"}];
const itemsToBeRemoved = [{id: 2, name: "funboi", extraProperty: "something"},
{id: 4, name: "zelensky", extraProperty: "somethingelse"}];
Run Code Online (Sandbox Code Playgroud)
运行逻辑后,我的最终输出应该是这个数组:
[{id: 1, name: "darnell"}, {id: 3, name: "jackson5"}]
这是我当前的代码/逻辑,它进行比较但不处理额外的键。我应该如何处理这个问题?先感谢您。
const prepareArray = (arr) => {
return arr.map((el) => {
if (typeof el === "object" && el !== null) {
return JSON.stringify(el);
} else {
return el;
}
});
};
const convertJSON …Run Code Online (Sandbox Code Playgroud)