Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12468 / 13645 ツリー ←次へ | 前へ→

【10347】実行時エラー'380':について momo 04/1/20(火) 12:14 質問
【10348】Re:実行時エラー'380':について Jaka 04/1/20(火) 12:47 発言
【10350】Re:実行時エラー'380':について Seraph 04/1/20(火) 14:09 発言
【10356】Re:実行時エラー'380':について momo 04/1/21(水) 10:25 質問
【10362】Re:実行時エラー'380':について Asaki 04/1/21(水) 11:27 回答
【10364】Re:実行時エラー'380':について momo 04/1/21(水) 11:53 お礼

【10347】実行時エラー'380':について
質問  momo  - 04/1/20(火) 12:14 -

引用なし
パスワード
   お久しぶりです。わけがわからなくて戸惑っています。
どなたか助けてください!!
シート上のコンボボックスをクリックするとフォームが出てきて、
フォームが出た時点でDBにアクセスするといった作業で、昨年までは快適に
動いていたのですが、今年に入ってフォームすら立ち上がらず・・・
デバッグをするとfrom.showを指します。
エラーメッセージは『Textプロパティを設定できません。プロパティの値が不正です。』
とで出来ます。インターネットで調べて、一応ウィルススキャンをしてみたのですが
見つかりませんでした・・・・何か良い解消法がありましたら是非教えてください。

【10348】Re:実行時エラー'380':について
発言  Jaka  - 04/1/20(火) 12:47 -

引用なし
パスワード
   エラーコードの意味は解りませんが、こう言うのはたいてい「UserForm_Initialize」で、不具合がおきている事が多いのでコードを見なおして見たらどうですか。
コード見ていないので詳しくは解りませんが、昨年と全く同じ環境なんでしょうか?
ファイルの名前が変わったり、移動したりとか色々原因がありそうですけど..。

【10350】Re:実行時エラー'380':について
発言  Seraph  - 04/1/20(火) 14:09 -

引用なし
パスワード
   ▼Jaka さん:賛成です

エラーとなったTextプロパティを持つオブジェクトがUsreForm上のコン
トロールであった場合、オブジェクト名が違っている可能性があると思
います。

とりあえず、確かに存在するか確認してみてはどうでしょう?

・F2を押して「オブジェクトブラウザ」を表示
・<すべてのライブラリ> -> VBAProject
・「クラス」一覧の中に目的のオブジェクトがあるか確認

また、変数で操作している場合は、正しくインスタンス(あるいは参照)
が作成されているか確認してみるのも良いと思います。

あとは、、、
#これで、ご質問のエラーが出るか確認してませんが、可能性として
「利用可能なコントロール」でチェックがはずれている。(のでは?)

・[ツール(T)]->[その他のコントロール(A)]あるいは「ツールボックス」
 で[右クリック]->[その他のコントロール(A)]を選択

・「利用可能なコントロール(A)」の

 □ Microsoft Forms 2.0 ComboBox
 □ Microsoft Forms 2.0 ListBox
 □ Microsoft Forms 2.0 TextBox

 など、Textプロパティを持つコントロールのチェックが入っているか
 確認してみる。

現時点の情報ではこれくらいしか思いつきません。
(ハズしてたら申し訳ないです)

【10356】Re:実行時エラー'380':について
質問  momo  - 04/1/21(水) 10:25 -

引用なし
パスワード
   ▼Seraph さん:
▼Jaka さん:
返信ありがとうございます!

まず、
オブジェクト名は確認したのですが間違っていませんでした・・・

以下はFormのInitializeです。

Private Sub UserForm_Initialize()
'フォーム上で日付選択
Dim j As Integer  '年表示のループに使用
Dim i As Integer  '月表示のループに使用
Dim k As Integer  '日表示のループに使用

'本日の日付の表示
frm_suke.lbl_datehyouji_suke.Caption = Format(Date, "yyyy年mm月d日")

'コンボボックスに年を表示させる
j = 2002
For j = 2002 To 2011
frm_suke.ComboBox5.AddItem j & "年"
Next j
frm_suke.ComboBox5.Text = Format(Date, "yyyy年")

'コンボボックスに月を表示させる
i = 1
For i = 1 To 12
frm_suke.ComboBox6.AddItem i & "月"
Next i
frm_suke.ComboBox6.Text = Format(Date, "mm月")

'コンボボックスに日を表示させる
k = 1
For k = 1 To 31
frm_suke.ComboBox7.AddItem k & "日"
Next k
frm_suke.ComboBox7.Text = Format(Date, "d日")

'標準モジュールを呼び出し、日付を渡してDBへ接続
Call hyo_suke.hiduke(frm_suke.ComboBox5.Text, frm_suke.ComboBox6.Text, frm_suke.ComboBox7.Text)

End Sub

以上のようなコードなのですが、以前動いていたときから変更はしていません。
(なんか恥ずかしい・・・へたですよね・・・・・)

>・F2を押して「オブジェクトブラウザ」を表示
>・<すべてのライブラリ> -> VBAProject
>・「クラス」一覧の中に目的のオブジェクトがあるか確認

VBAProjectという項目はなかったのですが、自分のフォームのクラス一覧には
オブジェクトがありました。

>・[ツール(T)]->[その他のコントロール(A)]あるいは「ツールボックス」
> で[右クリック]->[その他のコントロール(A)]を選択
>・「利用可能なコントロール(A)」の
> □ Microsoft Forms 2.0 ComboBox
> □ Microsoft Forms 2.0 ListBox
> □ Microsoft Forms 2.0 TextBox

以上の項目もなかったのですが、Microsoft Forms 2.0 Object Library
にはチェックはついていました。

今、BIOSの設定で日付を昨年に変更してみたのですがそれでも出来ませんでした・・・・
なんだか変な質問でご迷惑かけます・・・・・(;_;)

【10362】Re:実行時エラー'380':について
回答  Asaki  - 04/1/21(水) 11:27 -

引用なし
パスワード
   後ろから失礼します。

試してみましたが、とりあえず、普通に動きました。
但し、一番最後のDB接続関連の
>Call hyo_suke.hiduke(frm_suke.ComboBox5.Text, frm_suke.ComboBox6.Text, frm_suke.ComboBox7.Text)
は中身がわからないので実行していませんが。

まずはどこでエラーが発生しているのかを特定する必要がありますので、
先頭行にブレークポイントを設定して処理を起動し、後はF8を押下でstep実行して、
どこでエラーが出るのか確認されてみては如何でしょうか?

【10364】Re:実行時エラー'380':について
お礼  momo  - 04/1/21(水) 11:53 -

引用なし
パスワード
   ▼Asaki さん:
▼Seraph さん:
▼Jaka さん:

本当にありがとうございました!!
>>Call hyo_suke.hiduke(frm_suke.ComboBox5.Text, frm_suke.ComboBox6.Text, frm_suke.ComboBox7.Text)
>は中身がわからないので実行していませんが。
DB接続にあたり、今日の日付を検索条件にしていたので、日付を渡していました。
下手なコードでホント申し訳ないです。(-_-;)

>まずはどこでエラーが発生しているのかを特定する必要がありますので、
>先頭行にブレークポイントを設定して処理を起動し、後はF8を押下でstep実行して、
>どこでエラーが出るのか確認されてみては如何でしょうか?
ご指示通りチェックしてみたところ、
frm_suke.ComboBox6.Text = Format(Date, "m月")
で、"mm月"になっていたのを、"m月"に変更したところ正常に動くようになりました!!
今までは大丈夫だったので全然気づきませんでした・・・
今後もエラーが出たときにはAsakiさんに教えていただいたチェックをどんどん
活用したいと思います!!

皆さん本当に親切にご指導いただいて感謝しています!
ありがとうございました。

12468 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free