• ベストアンサー

実行時エラー

教えてください。 エクセルを開くと、ボタンがあって、それをクリックするとユーザーフォームが開いて、記入が出来るように作りました。でも、 実行時エラー438 オブジェクトは、このプリパティまたはメソッドをサポートしてません。 とでてしまいます。 Sub ShowForm() UserForm1.Show{←ここが黄色} End Sub なぜでしょうか? 説明不足でしたら補足させていただきますので 宜しくお願いします。

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

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.1

その部分だけではなく、UserFormが開くときに問題がありそうな気がするのは私だけ? えらー内容からすると、単純なエラーみたいなのですが、全部を見てみないと、想像もつきません。 とりあえず、質問とは関係ありませんが、開発時のアドバイスとして、 [ツール]→[オプション]→[全般]→[順次コンパイル]がチェックが入っていませんか? チェックをはずしておくことをお勧めいたします。 ついでに言わせてもらえば、 [ツール]→[オプション]→[全般]→[自動構文チェック]=OFF [ツール]→[オプション]→[全般]→[変数の宣言を強制する]=ON この環境、最強

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 実行エラー'424' ????

    エクセルでユーザーフォームを作成しました。 (オブジェクト名) UserForm7 です。 これを 開くマクロは Sub 受入フォームの表示() UserForm7.Show End Sub です。 すると 実行エラー'424' オブジェクトが必要です。と デバックします。 ちなみにUserForm1も作成してあり マクロは Sub 仕入先マスタ表示() Dim mytbl As Range Set mytbl = Worksheets("T_仕入先").Range("仕入先リスト1") UserForm1.Caption = "仕入先選択" UserForm1.Label1.Caption = "■仕入先一覧■" With UserForm1.ListBox1 .ColumnCount = mytbl.Columns.Count .ColumnWidths = "2cm;3cm" .List = mytbl.Value End With UserForm1.Show   End sub は問題なくフォームが表示します。 どこがわるいのでしょうか?

  • 実行時エラー'424':オブジェくトが必要です

    いつもお世話になります。 WIN7 EXCELL2010 です。 ユーザーフォームを作成中です。 ユーザーフォームを開きたいのですが 「実行時エラー'424': オブジェくトが必要です。」が出ます。 Module1のコードを出し「実行」→「Sub/ユーザーフォームの実行」をすると、 下記の1)は上手くゆくのですが2)は上記のエラーが出ます。 何がいけないのかわかりません。 なにか考えられることはありますか。 ご指導ご指摘をいただけないでしょうか。 1)Module1 (Sheet17 / UserForm1)は Sub FormSample() Do UserForm1.Show Loop End Sub 2)Module2 (Sheet20 /myForm)は Sub FormSample() Do UserForm2.Show Loop End Sub UserForm2 の名前でユーザーフォームは作成してあります。

  • 複数のユーザーフォームをコマンドボタンにて表示・非表示させるには

    VBA勉強中のものです。 複数のユーザーフォームをコマンドボタンを使用して画面への表示切替を考えております。 例)ユーザーフォーム1,ユーザーフォーム2,ユーザーフォーム3のそれぞれにコマンドボタン1,コマンドボタン2,コマンドボタン3を作成し、   コマンドボタン1→ユーザーフォーム1を表示   コマンドボタン2→ユーザーフォーム2を表示   コマンドボタン3→ユーザーフォーム3を表示 とするようなことを考えおります。  そこで、下記のようにコードを作成したのでですが,一度表示させたユーザーフォームを再度表示させようとコマンドボタンをクリックしたら、「フォームはすでに表示させているのでモーダル表示はできません」とエラーがでてしまいます。   どなたか、どのようにしたらいいかご教授ねがいます。 サンプルコード) --------------------------------------------------- 'UserForm1のコード Private Sub CommandButton2_Click() Call UserForm2_show UserForm1.Hide End Sub Private Sub CommandButton3_Click() Call UserForm3_show UserForm1.Hide End Sub ---------------------------------------------------- 'UserForm2のコード Private Sub CommandButton1_Click() Call UserForm1_show UserForm2.Hide End Sub Private Sub CommandButton3_Click() Call UserForm3_show UserForm2.Hide End Sub ------------------------------------------------------- 'UserForm3のコード Private Sub CommandButton1_Click() Call UserForm1_show UserForm3.Hide End Sub Private Sub CommandButton2_Click() Call UserForm2_show UserForm3.Hide End Sub ------------------------------------------------------------ '標準モジュール コード Sub UserForm1_show() UserForm1.Show End Sub Sub UserForm2_show() UserForm2.Show End Sub Sub UserForm3_show() UserForm3.Show End Sub

  • 【パワーポイント】「ファイルを開いたら」vbaの実行したい

    ファイルを開いた時にユーザーフォームを表示させたいのですが どうすればいいですか? エクセルでいうなら Sub Workbook_Open() UserForm1.Show End Sub をしたいです。よろしくお願いします。

  • バックアップするとuserformが使えない

    ユーザーフォームを設定した後で、次のプログラムを起動するとユーザーフォームを開こうとしても「パスが無効です」とでて使えなくなります。 Public Sub test() UserForm3.Show ActiveWorkbook.SaveCopyAs ThisWorkbook.Path & "\バックアップ\" & ActiveWorkbook.Name UserForm2.Show Unload UserForm3 Unload UserForm2 End Sub また、プログラム中にシステムエラーとでたり、「オブジェクトが見つかりません」とでたりします。 いったいなぜなのか。どうすれば回避できるのか教えてください。お願いします ちなみにプログラムを実行するときはエクセルファイルと同じ階層に「バックアップ」というフォルダを作ってください。 このプログラムを実行した後は保存しないことをお勧めします。 ユーザーフォームが起動できなくなっても責任はとれません。 エクセルは2000 です。

  • UserForm1.Showでエラーになります。1

    Thisworkbookのところで Option Explicit Private Sub Workbook_Open() UserForm1.Show End Sub とプログラミングすると UserForm1.Showでエラーになります。 どうすればよいでしょうか。 Excel2013でプログラミングしています。 UserForm1.Showもきちんと作成済みです。 エラーメッセージは、 実行時エラー’424’ オブジェクトが必要です。 と出ています。

  • VBAでマルチページの表示

    エクセル2002使用です。 ユーザーフォーム(オブジェクト名:UserForm1)に、マルチページ(オブジェクト名:page1)を配置してフォームを作成しました。 Sheet1にコマンドボタンを貼り付け、コマンドボタンをクリックして、標準モジュールを呼び出し、マルチページを標準モジュールから呼び出せるようにしたいのですがうまくいきません。 ’Sheet1 Private Sub CommandButton1_Click() Call フォーム表示 End Sub ’標準モジュール Sub フォーム表示() UserForm1.Show ’?ここのコードをいろいろ試したのですがわかりません。 End Sub この他 UserForm1.ShowPages "page1" とか 変数を入れてみたりしたのですが、うまくいきません。 すいませんが、よろしくお願いします。

  • Excel vbaでフォームの起動が失敗する

    Excelシート上に設置したユーザフォームを開くボタンを実行するとフォームが開かずに新規のExcelシートが開いてしまいます。 以前までは正常に作動していたんですが••• ちなみにボタンの実行前に vbaの編集画面を一度でも開いた後はボタンを押したら正常にフォームが開くんです。 フォームを開くコード sub 起動() UserForm1.Show End Sub フォームのInitializeはコンボボックスのみです。 原因がわかりましでしょうか?

  • LoadPicture 実行時エラー

    エクセルのシートにアクティブエックスコントロールのイメージを1個設置しました。 名前は「Image1」となっており、数式バーには 「=EMBED("Forms.Image.1","")」とはいっています。 このイメージにvbaで画像を表示させたいのですが Sub test() Sheets("Sheet1").Image1.LoadPicture = "D:\My Documents\up\1.jpg" End Sub とすると 実行時エラー438 オブジェクトは、このプロパティまたはメソッドをサポートしていません。 と言う実行エラーになります。 画像は存在します。 どこが間違ってるのか教えてください。

  • Excelでのエラー

    こんにちわ。 今、以下のようなコードを実行した際に、エラーがでてしまい困っています。 ************************************************** Private Sub CommandButton3_Click() '再計算を自動に設定 With Application .Calculation = xlCalculationAutomatic .MaxChange = 0.001 End With ActiveWorkbook.PrecisionAsDisplayed = False UserForm4.Hide UserForm3.Show End Sub ************************************************* (この処理の前には、手動計算に設定しています。) このコードでExcel2000では、問題なく処理がされるのですが、 Excel97では、 「Calculationメソッドは失敗しました。"_Application"オブジェクト」 というようなエラーが出ます。 コード的にはExcel2000で問題なく動いているので、 大丈夫だと思うのですが、Excel97でオブジェクトの指定の仕方や、自動計算のメソッドに上記コードだと問題があるのでしょうか? どなたかわかる方、回答をお願い致します。