プロが教えるわが家の防犯対策術!

エクセルVBAを使用して、あるシートAのコードに
  Worksheets("シートB").Visible = xlSheetVisible
と記述して、既に非表示設定してある別のシートBを表示させたいと思っているのですが、表題のエラーが出て実行できません。
上記記述文のところでエラーとなります。
どなたか原因をご存知の方は、その原因と対処法をお教えください。
よろしくお願い申し上げます。

A 回答 (2件)

excel97やexcel2000を使用していますが、



Worksheets("シートB").Visible = xlSheetVisible

の記述は、問題なく実行できました。

ですから、単純にシート名が「シートB」でないとか(または半角全角違いとか)、ブック保護がかかっているとか、別のブックがアクティブな状態になっているとかではないでしょうか?
ちなみにExcelのVerはいくつでしょうか?Excel95以前だと#1さんの方が正解かも知れません。

この回答への補足

どうもありがとうございます。
お答え頂いたお二人に大変申し訳ありませんが、マシンを再起動させて操作したところ、問題無く機能するのを確認できました。
ちなみに、OSはWindows98、ExcelのVer.は2000です。
ご報告が遅れてしまい、大変失礼致しました。
しかし、何故いきなりエラーとなったかは不明のままです。また再度同じ現象が起こる可能性も否定できません。
今後もまたお聞きすることがあるかも知れませんが、その際もよろしくお願いします。
どうもありがとうございました。

補足日時:2003/03/20 21:39
    • good
    • 6

原因は わかりませんが


対処としては

if xlSheetVisible then
Worksheets("シートB").Visible=true
else
Worksheets("シートB").Visible=false
end if

とかいうふうにしてみたら いかがでしょうか?

ちなみに xlSheetVisible って xlSheet.Visibleのことかな?

この回答への補足

対応ありがとうございます。
「xlSheetVisible」とは、worksheetオブジェクトのVisibleプロパティに設定できる定数です。
VBのHelpに載っていました。
教えていただいた方法を試しましたが、同じエラーが出ます。
それどころか、Visual Basic Editorのプロパティウィンドウから、シートBのVisibleプロパティを「xlSheetVisible」(表示)にしてもエラーになります。
ひょっとしてシステムが不安定なんでしょうか…。

補足日時:2003/03/20 21:23
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A