关于这个错误的帖子很多,但就我阅读帖子而言没有解决方案。 似乎要使各种工作表功能起作用,工作表必须是 active/visible。(这至少是我的 Match() 出于虚假原因随机工作后的最新发现。)
我希望这个谜团得到了解决,尽管为这种查找操作激活工作表很痛苦并且需要几个 CPU 周期。
所以我尝试了语法变化,结果发现在我删除下划线换行符后代码开始工作,无论显示的工作表如何。<- 好吧,由于某种原因,我仍然必须激活工作表 :-(
'不起作用
'Set oCllHeader = ActiveWorkbook.Worksheets("Auswertung").Cells(oCllSpielID.Row, _
Application.Match( _
strValue, _
ActiveWorkbook.Worksheets("Auswertung").Range( _
oCllSpielID, _
ActiveWorkbook.Worksheets("Auswertung").Cells(oCllSpielID.Row, lastUsedCellInRow(oCllSpielID).Column)), _
0))
' 确实有效(为了便于阅读,删除了带有下划线的换行符)<- 此语法稍后停止工作,无法激活工作表 :-(
Set oCllHeader = ActiveWorkbook.Worksheets("Auswertung").Cells(oCllSpielID.Row, Application.Match(strValue, ActiveWorkbook.Worksheets("Auswertung").Range(oCllSpielID, ActiveWorkbook.Worksheets("Auswertung").Cells(oCllSpielID.Row, lastUsedCellInRow(oCllSpielID).Column)), 0))
最后,我为这个谜团的更多认识而烦恼,又花了很多时间。
干杯