このエラーに関する投稿はたくさんありますが、投稿を読む限り解決策はありません。 さまざまなワークシート機能が機能するには、ワークシートがアクティブ/可視である必要があるようです。(これは少なくとも、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))
結局のところ、私はこの謎にさらに気づき、また多くの時間を費やすことを心配しています。
乾杯