我正在跑步并且偶尔会出现错误。实质上,多人使用主.xlsm文件来填充数据以进行聚合。然后我使用另一个带有宏的.xlsm文件来提取数据并将其聚合到一个源文件中。
代码通常运行良好,但有一个例外:
'define range based on count'
Set rngItemRange = SourceWb.Sheets("Quality").Range(Cells(3, i), Cells((intItemCount + 2), i))
'write concatenated range'
targetwb.Sheets("Raw Data").Cells(pintDest_row, pintCol).Value = concatRange(rngItemRange)
在某些工作簿上找不到“质量”标签(但不是全部)。好吧,也许有人重命名了标签?检查一下,那不是真的。有一件事可以解决:在开源工作簿上,当调试抛出错误时,如果我手动点击质量选项卡,然后恢复宏,它将继续。
我也说过,好吧,也许有一些奇怪的字符识别问题,所以我开始按照vba编辑器中显示的代号来引用工作表。我经历了同样的行为。
这可能会影响50%的工作簿,我找不到任何根本原因。对于不同的工作表,我在其他地方有类似的代码,但这是我使用“set”命令定义传递到函数的范围的唯一代码。同样,这有时仅在某些工作簿上发生,当我手动点击我从中提取数据的选项卡时,我可以继续执行。
我还要补充一点,在任何给定的时间,只有一个工作簿打开这个工作表名称,所以我不认为这是一个窒息试图找出哪个工作表是相关的。另外sourceWb是一个集合变量。
有人有什么线索吗?什么都试试?解决方案?救命! (原谅任何错别字,我现在正在做一个破损的拇指。)