• 締切済み

VBAのユーザーフォームを実行しようとすると…。

オブジェクトがありません、とのエラーメッセージが出て、実行できません。 標準モジュールには以下のようなプロシージャを記述しているのですが、デバッグしてみると、2行目の「○○○.Show」の部分が黄色く反転しているのです。 しかし、○○○の名前をつけたユーザーフォームは存在するのです。オブジェクトがない、とのエラーメッセージが出る理由がわかりません。 どなたか解決方法を教えていただけませんでしょうか。 Public Sub Form_Show() ○○○.Show End Sub

みんなの回答

noname#102878
noname#102878
回答No.3

フォーム名があっているか、もう一度確認しましょう。 フォーム名に続いてピリオドを打つとポップアップメニューが表示されますか? 次に、VBEで[ツール]-[参照設定]で「参照不可」になっているものはありませんか? あればチェックを外して正しいものにチェックをつけましょう。

houston
質問者

お礼

ワークシートに書き込み済みのデータを全て消去したら、なぜかうまくいきました。皆様方、いろいろアドバイスいただき、ありがとうございました。

houston
質問者

補足

回答いただきありがとうございます。 ポップアップは出ます。 参照不可になっているものはたくさんありますが、「正しいもの」にチェックといわれても、未熟者ゆえ、どれが「正しい」のか判断できません(笑)。 ただ、参照不可の部分がネックになっているわけではなさそうに思うのですが、何か他の可能性ありますでしょうか?

回答No.2

こんにちは VBのバージョンが新しいものは、ポップアップヒントが出ますよね ○○○.までパンチしなおして、ポップヒントが出るかどうか 確認してください。 でないようだと名前が間違っています。

houston
質問者

補足

アドバイスありがとうございます。 ポップヒントは出ますし、名前は間違っていないはず。 では、なぜ…?

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

なんとも言えませんが、 ○○○の部分が、変数なら、オブジェクトのパスを、ルートから明示的に記述してみるとか、 逆にオブジェクトのパスを辿って書かれているなら、一旦変数にいれてみるとか。 自分の経験から考えると、この手のやつは、自分が間違っているパターンが多いですね。やっぱり。

houston
質問者

補足

アドバイスありがとうございます。 ○○○の部分は変数ではないのですが。うーん、なぜでしょう。

関連するQ&A