Excel2003のボタンにVisibleがない

このQ&Aのポイント
  • Excel2003のSheetにデフォルト設定のCommandButtonをコピーした際、一部のボタンにVisibleプロパティが存在しない問題が発生しています。
  • Visible=Trueとなっているボタンでも、プロパティにVisibleが表示されず、ソースからVisible=Falseを設定するとエラーが出ます。
  • Visibleプロパティが存在しないボタンを削除し、Visibleプロパティがあるボタンを再度コピーしても、Visibleが消えてしまいます。解決方法をご存知の方、教えていただけないでしょうか。
回答を見る
  • ベストアンサー

Excel2003のボタンにVisibleがない。

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

質問者が選んだベストアンサー

  • ベストアンサー
  • pcb39431
  • ベストアンサー率84% (16/19)
回答No.1

シート内またはブック全体で使用できるコントロールの数に制限があるのではないでしょうか? コマンドボタン以外のコントロールを配置したときはどうなりますか? また、何個目からプロパティがおかしくなりますか?

asobisugi
質問者

お礼

pcb39431さま ご回答ありがとうございます。 エラーが発生したファイルを、他のPCで開いても同じ症状で、解決ができずに困って悩んでいたところ、なんとか自己解決することができました。 納得がいかない症状なのですが、 なんとコマンドボタン名が32文字のボタンだけが、Visibleが現れないことに気づきました。 33文字にするとVisibleが現れ、ます。 もちろん31文字でもVisibleは現れます。 どうやらエクセルのバグですね。 ちなみに32文字でVisibleがない時に、33文字目に"_"を使うとVisibleは現れません。 どうやら文字数と、使う文字にも影響があるようで、厄介なバグのようです。

asobisugi
質問者

補足

今回自己解決しましたので、「ベストアンサー」はいちばん早く回答を書き込んでいただいたpcb39431さまにさせていただきますね。

その他の回答 (1)

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.2

Excel2003 で新規Bookにコマンドボタンのみ150個 貼り付けたけど、現象は確認できませんでした。 グループ化等したら設定できなくなりますが、 そういう処理の心当たりは無いですか? エラーメッセージは 『実行時エラー'1004'  OLEObject クラスの Visible プロパティを設定できません。』 > 同じ場所へ貼り付けると、やはりVisibleが消えます。 同じ場所でなければ消えないんですか? マクロで場所によって設定を変える様なことをしているのでは? シートの保護もしてないか調べてみてください。 Visibleを変更できないような設定を何かしてるのではないか と思いました。

asobisugi
質問者

お礼

MARU4812さま ご回答ありがとうございます。 エラーが発生したファイルを、他のPCで開いても同じ症状で、解決ができずに困って悩んでいたところ、なんとか自己解決することができました。 納得がいかない症状なのですが、 なんとコマンドボタン名が32文字のボタンだけが、Visibleが現れないことに気づきました。 33文字にするとVisibleが現れ、ます。 もちろん31文字でもVisibleは現れます。 どうやらエクセルのバグですね。 ちなみに32文字でVisibleがない時に、33文字目に"_"を使うとVisibleは現れません。 どうやら文字数と、使う文字にも影響があるようで、厄介なバグのようです。

関連するQ&A

  • visibleの機能について

    VBで「Label.visible」でFalseが非表示、Trueが表示だと思うのですが、Trueで非表示の場合があります。 プログラムではTrueにしたりFalseにしたりします。もしかしてvisibleの設定がおかしくなったのかなと思って実行中にvisibleの内容を表示してみてみましたが、Trueで非表示になる場合があります。必ず非表示になると言うわけではないので困っています。 原因がわかる方、もしかしてここでは?と言う方でも結構です。 宜しくお願い致します。

  • 実行時はEXCEL自体を非表示にし、印刷時はワークシートのコントロール(Microsoftバーコードコントロール9.0)を表示したい

    EXCEL2002sp3です。 実行時はEXCEL自体を非表示にし、印刷時はワークシートのコントロール(Microsoftバーコードコントロール9.0)を表示したいと思います。 Application.Visible = False 実行後、コントロールのあるワークブックをOPENすると、Application.Visible が True となりEXCELが表示されてしまいます。 バーコードのプロパティのVisibleをFalseに設定してから、実行させると、EXCELは表示されないのですが、今度はバーコードが印刷されません。この時バーコードのプロパティのPrintObjectはTrueにしています。 何か間違っているのでしょうか?

  • マクロ ボタンの非表示

    セルのG2に”FALSE”と入力されていた場合、ボタンを非表示にしたいと思っています。 下記のように記述したのですが、ボタンが非表示になってくれません。 間違っていますでしょうか。 If Range("G2").Value = "FALSE" Then ActiveSheet.CommandButton1.Visible = True End If

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

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

  • オブジェクトのプロパティーをVBAで操作する方法

    今、Excel97とVBAを用いて、ツールを作成しています。 VBAでシートに貼り付けたボタンをEnabled=TrueにしているのをEnabled=Falseにしたいと思い、ヘルプを元に作成しました。しかし、「変数が定義されていません。」と表示されてしまいます。 Sheet オブジェクト名:CommandButton1 VBA sub 表示操作() CommandButton1.Enabled = True ← エラー箇所 end sub オブジェクトのプロパティーをVBAから操作する方法を教えて下さい。

  • C++ Builder でVisibleとshow

    こんにちは、王次郎です。 C++ Builder でコンポーネントの表示/非表示を切り替えるときに メンバ関数の Show()/Hide() を呼ぶ方法と プロパティの Visible を True/False にする方法がありますが、 どう違うのでしょうか?どちらが良いのでしょうか? よろしくお願いします。

  • Excel2003で簡単な図形の表示と非表示のプログラムを作成したので

    Excel2003で簡単な図形の表示と非表示のプログラムを作成したのですが上手く出来ません UserForm1に Private Sub OptionButton1 Click() ActiveSheet.Shapes("Oval 1").Visible=True 'ワークシート1に楕円の図形1表示 ActiveSheet.Shapes("Oval 2").Visible=False 'ワークシート1に楕円の図形2非表示 End Sub Private Sub OptionButton2 Click() ActiveSheet.Shapes("Oval 1").Visible=False 'ワークシート1に楕円の図形1非表示 ActiveSheet.Shapes("Oval 2").Visible=True 'ワークシート1に楕円の図形2表示 End Sub 上記の記述では上手くいくのですが、下記の様に ワークシート2の図形3と4も同様に表示・非表示したいため追加するとエラーになります。 UserForm1に Private Sub OptionButton1 Click() ActiveSheet.Shapes("Oval 1").Visible=True 'ワークシート1の楕円図形1表示 ActiveSheet.Shapes("Oval 2").Visible=False 'ワークシート1の楕円図形2非表示 ActiveSheet.Shapes("Oval 3").Visible=True 'ワークシート2の楕円図形3表示 ActiveSheet.Shapes("Oval 4").Visible=False 'ワークシート2の楕円図形4非表示 End Sub Private Sub OptionButton2 Click() ActiveSheet.Shapes("Oval 1").Visible=False 'ワークシート1の楕円図形1非表示 ActiveSheet.Shapes("Oval 2").Visible=True 'ワークシート1の楕円図形2表示 ActiveSheet.Shapes("Oval 3").Visible=False 'ワークシート2の楕円図形3非表示 ActiveSheet.Shapes("Oval 4").Visible=True 'ワークシート2の楕円図形4表示 End Sub VBAの勉強中の初心者です。教えて頂けないでしょうか。

  • デザイン時のVisible=Falseは実行時に変更できない?

    VB2008です。 フォームデザイン時に、コントロールのVisibleをFalseに設定していると、実行時にTrueに設定してもコントロールが見えません。(実行時エラーも出ません。) 私の環境では、ほぼすべてのコントロールが同じ挙動をします。 もちろん、デザイン時にVisibleをTrueにしておいて、実行時にコードでFalseにすると見えなくなりますし、Trueを与えてやると再度見えるようになります。 これは、言語の仕様なのでしょうか。

  • Excel2007のVBAでPreviewすると

    初めまして。 Excel2007のVBAで困っていることがあり解決方法を探しています。 もともとExcel97で稼働していたマクロ+VBA付きのシートをExcel2007で稼働させようとしています。 マクロ・VBAで作成されたシート(sheet2)をフォームに配置した印刷ボタンをユーザーに押してもらうことでプレビューを表示します。 印刷ボタンを押したときのプレビューのコード Worksheets("sheet2").PrintOut Copies:=1, Preview:=True でプレビュー画面を表示したところ、印刷ボタンや印刷設定ボタン等の上部にあるボタンが薄いグレーの配色で押せなくなりました。 調べた結果、ScreenUpdatingがfalseだと同じ状態になるとわかったので Application.ScreenUpdating = True Worksheets("sheet2").PrintOut Copies:=1, Preview:=True と書き換えましたが、不具合は解消されませんでした。 またブックを閉じずに、マクロを再起動させて同様の動作をおこなうと 何故かちゃんとボタンが押せるプレビューが表示します。 その状態のブックを保存して改めて開くと同じようにプレビューのボタンが押せなくなっています。 同じような現象で解決された方いらしたら解決方法を教えて頂ければありがたいです。 よろしくお願いいたします。

  • 単純な質問で恐縮です。

    単純な質問で恐縮です。 コマンドボタン1を押したら、ラベル1が消えて、ラベル2が表示させるようにしたいのですが動きません。 Private Sub CommandButton1_Click() Label1.Visible = False Label2.Visible = True end sub どうしてでしょうか?

専門家に質問してみよう