• 締切済み

Excel Visible プロパティを設定できません。

エクセルの一部シートを隠そうと、VBA画面のVisibleプロパティを「-1 xlSheetVisible」から、「0 - xSlsheetHidden」または「2 - xlSheetVeryHidden」に変更しようすると、「Worksheet クラスのVisible プロパティを設定できません。」となってしまいます。 ・環境はWinXP(SP2) EXCEL2003です。 ・同じパッケージをインストールした2台(ノートとデスクトップ)で、同じ現象。 ・新規のブックでやっても同じ現象。 よろしくお願いします。

noname#72176
noname#72176

みんなの回答

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

#1 です。 シート(構成)の保護は? 保護している場合、操作する前に外さないとエラーに なります。

noname#72176
質問者

お礼

仕方ないので、1から新規でブックを作り直してみます。 ありがとうございました。

noname#72176
質問者

補足

保護は、外してます。

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

こんにちは。KenKen_SP です。 Excel は、 ・シートは最低ひとつ必ず表示しなければならない 仕様になっています。したがって、シートが1つしかないブックの 場合、そのシートを非表示にすることはできません。 こういうことではない?

noname#72176
質問者

お礼

仕方ないので、1から新規でブックを作り直してみます。 ありがとうございました。

noname#72176
質問者

補足

シートは1つ以上表示してます。 「・新規のブックでやっても同じ現象。」と書きましたが、これはできました。 ひょっとして、(残表示するシート、隠すシートとは別に)削除シートしたシートがあると、この問題発生したりするんでしょうか。

関連するQ&A

  • 実行時エラー'1004': WorkSheetクラスのVisibleプロパティを設定できません

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

  • Excel2003のボタンにVisibleがない。

    Excel2003です。 Sheetへデフォルト設定のCommandButtonをコピーで100個ほど並べました。 すると、いくつかのボタンはプロパティにVisibleがありません。 ボタンは見えているので Visible=True となっているようですが プロパティにVisibleが無いのです。 ソースからVisible=falseを設定すると、OLEなんたらかんたらのエラーが出ます。 プロパティVisibleが無いボタンを削除して、Visibleがあるボタンをコピーして 同じ場所へ貼り付けると、やはりVisibleが消えます。 どう頑張っても解決できなく悩んでいます。 OS:XP OSを再起動しても解決できませんでした。 そこで、解決方法をご存知の方教えていただけないでしょうか。 ファイルは会社にあるので、いまここでテストすることはできません。 何とぞ宜しくお願い致します。

  • VBA Worksheetsはプロパティなの?

    (株)C&R研究所発行 Excel VBA逆引きハンドブック 著者 蒲生睦男 234ページを引用します。 ----- ワークシートを参照するには「Worksheets」プロパティを使います。「Worksheets」プロパティは、指定されたブックのすべてのワークシートを表す「Sheets」コレクションを返します。 ----- 私は今までWorksheetsはコレクションだと思ってました。つまりワークシートの集合であると。違うのですか?さらにプロパティはオブジェクトの性質を表わすもので、例えばCellのプロパティであればValue, Colour等です。では、Worksheetsは何のプロパティなのでしょうか?Workbookのプロパティですか?もしそうなら、他にはどんなプロパティがあるのですか?さらに上記引用で「返す」とありますが、返すってなんですか?ファンクションプロシージャの戻り値を返す、みたいな表現はありますがここでの「返す」の意味がよくわかりません。 私の現状認識は以下のものです。どこか誤ってますか? Worksheetsはワークシートの集合体つまりコレクションであり、ワークシートオブジェクトでもある。オブジェクトであるので、性質を表わすプロパティではない。 VBAの構文で Workbook.Worksheet.Range のような表現はよく使いますが、ひょっとして後ろにくっつくのは全部プロパティなのですか?ちょっとよくわかりません。

  • Excel2003 コマンドボタンのプロパティ

    Excel2003 の vba の初心者です。 (Access2003 の vba の方が得意です。) 既に出来上がっているExcelのvbaを編集したいのですが、 コマンドボタンのプロパティが表示できません。 Accessであれば、コマンドボタンを選択して右クリックするとプロパティがあります。 しかし、Excelでは、コントロールツールボックスでデザインモードを押下し、 コマンドボタンを選択してコントロールツールボックスのプロパティを押下しても、 プロパティの一番上のプルダウンの所は「Sheet1 Worksheet」となっていて、 ▼を押下しても、他には何もありません。 どうも、Worksheetのプロパティが表示されているようです。 コマンドボタンのプロパティを表示させるには、どうすればよいのでしょうか。 基本的なことでお恥ずかしいですが、 ご教授いただければ幸いです。 よろしくお願いいたします。

  • 他のブックがアクティブな状態でExcelを終了させる場合の不具合

    マクロを使って、 ブックを閉じるときに最後のシートを表示させて他のシートを全て隠す という動作を行っています。 当該ブックがアクティブなときは正常に動作するのですが、 他のブックがアクティブな状態で閉じると 実行時エラー'1004': WorksheetクラスのVisibleプロパティを設定できません。 とのエラーが出てしまいます。 下記にコードを載せますので、どなたかご教示ください。 ThisWorkbookの辺りが怪しいとは思うのですが。。 よろしくお願いいたします。 Function HideSheets() Call 開始設定 Call ブック解錠 Worksheets(ThisWorkbook.Worksheets.Count).Visible = True For i = 1 To Worksheets.Count - 1 Worksheets(i).Visible = xlVeryHidden Next Call ブック施錠 Call 終了設定 End Function

  • Excel VBA 自身を非表示にした時の解除方法

    Excel2010でVBAのコードデバッグ中に Excelアプリケーションのウインドウの中に Excelブック(シート)が表示されなくなってしまったため 一度、Excelアプリケーションを終了して 再びデバッグ中のExcelブックを開いたのですが それでも Excelアプリケーションのウインドウだけが表示されて、 開きたいExcelブック(シート)は表示されません。 おそらく、VBAのコードの中の Set wb = Workbooks.Open(fileName:=filePass, ReadOnly:=True) ActiveWindow.Visible = False の ActiveWindow.Visible = False のコードが 自分自身を非表示にしてしまったのではないかと思われます。 イミディエイトウィンドウに ActiveWindow.Visible = True と入力してもウインドウが表示されていないので エラーになります。 どのようにすれば非表示の状態から 表示の状態に戻すことができるのでしょうか。

  • Excel VBA 非表示の別ブックへシートコピー

    Excel2010のVBAで、別のExcelブックを非表示で開いて、 シートをコピーすると、 「実行時エラー'1004':WorksheetクラスのCopyメソッドが失敗しました。」 というエラーが出て、正しくシートをコピーすることができません。 (1)のように自分のブックへはシートをコピーすることはできるのですが、 (2)のように別のExcelブック上でシートをコピーする場合と (3)のように別のExcelブック上にシートをコピーする場合の いずれも同様のエラーになります。 どのように記述すれば(2)と(3)でもコピーすることができるのでしょうか。 ------------------------------------------------------------- Sub test()  Dim newEx As Excel.Workbook  Dim newFile As String  newFile = ThisWorkbook.Path & "\New_Book.xlsx"  Set newEx = Workbooks.Open(newFile, UpdateLinks:=0)  Application.Windows("New_Book.xlsx").Visible = False  '(1)New_BookのSheet3を自分のブックにコピーする (正常)  newEx.Worksheets("Sheet3").Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)  '(2)New_BookのSheet3をNew_Bookにコピーする (エラー)  newEx.Worksheets("Sheet3").Copy after:=newEx.Sheets(newEx.Sheets.Count)  '(3)自分のブックのSheet3をNew_Bookにコピーする (エラー)  ThisWorkbook.Worksheets("Sheet3").Copy after:=newEx.Sheets(newEx.Sheets.Count)  Application.Windows("New_Book.xlsx").Visible = True  Application.DisplayAlerts = False  newEx.Save  newEx.Close  Application.DisplayAlerts = True  Set newEx = Nothing End Sub -------------------------------------------------------------

  • Excelのリンクエラー(ありきたりではない)

    WinXP-SP3,Excel2003です。 あるブックを別のPC(同じくWinXP-SP3,Excel2003)で開いたら、「このブックには、ほかのデータソースのリンクが含まれています。」と出ました。よく知られたメッセージです。でも、ありきたりではないんです。 怪しげなシートから順次削除して絞り込み、なお解決できなかったので、いっそうのこと新規に白紙のワークシートを挿入し、元あったシート及びVBAモジュールを全て削除しました。 ところが、この全身総入替えで裸一貫になったブックも、開くとやはり「このブックには、ほかのデータソースのリンクが含まれています。」と出るのです。 勿論、編集メニューから「リンクの設定」を選択しようにも、グレー表示で選択不能です(これは元のブックも同じくグレー表示でした)。 名前の定義も残っていません(元々ひとつも定義していません)。以前PublishObjectは定義しましたが、これとてシートは全て削除しており、また上記裸一貫ブックでCountしても「0」です。 下記"バスターズ"とやらを試してみましたが、結果は改善されませんでした。 万事休す、です。どうかお助けください。 ちなみに、元々のブックは、ネット上のURLにリンクは張ってありましたが、他のブックは何ら参照していません。 ネット上には本件類似の質問が沢山ありますが、皆、正当な現象のようで、本件ほどタチの悪い例は見当たりませんでした。 幽霊リンクバスターズ ↓ http://hp.vector.co.jp/authors/VA016119/kitan01.html#7

  • Excelで、開いたファイルを消したい

    Excel2000ですが、 デスクトップ上に保存したcsvファイルを開く ↓ 作業中のブックにシートを増やしそこに先ほど開いたcsvファイルを貼り付けてシート名を変更 ↓ 開いたcsvファイルを閉じる という作業ですが、VBAマクロにするとどういうプログラムになるのでしょうか?教えてください。

  • Excelでブック名とシート名の取得方法は?

    Excel2000のVBAで、そのパソコンで開いている全てのEXCELブック名とそれらにあるシート名を取得したいのですが、そんなことはできるのでしょうか?

専門家に質問してみよう