質問: ActiveSheet.Name Else MsgBox "キャンセルされました" End If End Sub ``` ■試したこと ・If OpenFileName <> "False" Then →If OpenFileName <> "False" And OpenFileName <> "False.xlsm" Then に変更 ・If OpenFileName <> "False" Then →If OpenFileName <> "False*" Then に変更 ご存知の方がいらっしゃれば教えていただけると幸いです。
回答: GetOpenFilenameメソッドがFalseを返すとき、受け取る変数の型が問題になります。 受け取る変数が文字列型(String)の場合 If OpenFileName <> "False" Then 受け取る変数がバリアント型(Variant)の場合 If OpenFileName <> False Then のどちらかです。 VBAは内部的に自動型変換をしてくれることが多いですが、これを機会にチェックしてみるとよいでしょう。 ---追記 やられた。さてはこれどっかのコピペを合体させてますね? csv = Application.GetOpenFilename(... としているのですから、当然 If csv <> "False" Then としてください。OpenFileNameはどこにも存在してませんよ。