2016-11-08 16 views
0

外部ブックにシートが存在するかどうかをチェックする関数を作成しました。コード(私はこれをチェックしましたし、これは、これはエラーを停止参照If文をコメントアウト、他のシートと完璧に動作します)、次のように:Excelエラー処理でシート選択ポップアップが選択されない

Function ExtSheetExists(formString) As Boolean 
    Dim val As Variant 
    On Error Resume Next 
    val = ExecuteExcel4Macro(formString) 
    ExtSheetExists = (val <> Error(2023)) 
    On Error GoTo 0 
End Function 

注:FormStringwkBookRef1は単なるパスです"'" & wkBookRef1 & firstShtName & "'!" & "R6C12"として渡されますスプレッドシートにはfirstShtNameが検索されているスプレッドシート名です。

しかし、後でUpdateLinkメソッドを使用して同じスプレッドシートを更新すると、[シートの選択]ダイアログボックスがポップアップし、マクロの実行が停止します。誰でもここで何が起こっているのかを知っていますか?次のように

選択シートボックスは次のとおりです。

Select Sheet Pop Up box

+0

何をformStringとして渡していますか? –

+0

あなたが探しているシートが存在しません(2番目のコードルーチンにあります)ので、別のシートに置き換えようとしています – brettdj

+0

@Nathan_Sav新しいメモを参照してください。ありがとう。 – AER

答えて

0

それはバグです。実際にformstringが実行され、メッセージボックスは表示されません。しかし、それは他のスプレッドシートに潜在的なプロセスとして残っているようです。更新されると、抑制されたメッセージボックスが表示されます。

関連する問題