[[20081021115759]] 『2回目動作時に実行時エラー'438'の件』(まき) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『2回目動作時に実行時エラー'438'の件』(まき)

いつも本webを参照させて頂いております。
過去のログでマッチする物が無かった為、質問させて頂きます。

現在ユーザーフォームを使い予約システムを作っており1回目は動きますが、2回目に
同じフォームボタンを押すと、”実行時エラー'438'オブジェクトは、このプロパティま
たはメッソドをサポートしておりません。”と出て来ます。この時にデバッグにして、
VBAのメニューを開き何もしなくて閉じ、フォームボタンを押すとエラーにならずマク
ロが動きます。但し、再度動かすとまた同じ現象になります。

本VBAは次の通り作成しており、エラー表示場所は毎回同じ所です。

'−−−−−−−−VBA−−−−−−−−
Private Sub 400_Click()

Dim 開始日 As String
Dim 完了日 As String

    Worksheets("メニュー").DrawingObjects("ComboBox11").Select
    With Selection
        .ListFillRange = "" '※ここがエラーになる
    End With
    With Selection
        .ListFillRange = "レンタル号機!C3:C9"
    End With
        Worksheets("FMD-400スケジュール").Select
        Columns("B:B").Find(Worksheets("400スケジュール").Range("A1").Text).Activate
        Range("A3") = ActiveCell.Row

        開始日 = Range("A6").Text
        完了日 = Range("A7").Text

        Worksheets("レンタル号機").Range("C2:C100").Copy
        Worksheets("メニュー").Range("C3:C101").PasteSpecial Paste:=xlPasteValues
        Sheets("400スケジュール").Select
        Range(開始日, 完了日).Select
        Selection.Copy
        Sheets("メニュー").Select
        Range("D3").Select
        Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
'        Selection.ClearContents '選択範囲をクリア。デバッグ追加
        Range("C3").Select

    Application.Visible = True  'エクセルの再表示
    Unload Me

End Sub

※がエラーになる所です。ユーザーフォームからシートに移動する際に、シート上の
ComboBox11に指定されたシートからデーターを選べる様にしております。ちなみに、
同フォームに同様のボタンを配置しており、他のボタンでも同じ所がエラーになります。

お手数ではございますが、ご伝授願います。

以上よろしくお願い致します。


 「メニュー」シートがアクティブでない時、なぜかここでエラーにならず。
 Worksheets("メニュー").DrawingObjects("ComboBox11").Select

 ここでエラーになりますね?なんかおかしい?? by2002
 .ListFillRange = ""

 選択しないで直に操作すればいいです。
 Worksheets("メニュー").DrawingObjects("ComboBox1").ListFillRange = ""
 BJ

BJ 様

早速のご連絡有り難うございました。上記VBAは過去のログをまねして作りました。

ご指摘頂きました通り、下記の変更した所動く様になりました。但し、BJ様が言われる通

り文法的には何か間違えが有るんでしょうね。。。でも当面結果オーライでいいかなぁ。。

    Worksheets("メニュー").DrawingObjects("ComboBox11").ListFillRange = ""
    Worksheets("メニュー").DrawingObjects("ComboBox11").ListFillRange = "レンタル号機!C3:C9"

有り難うございました。先週から悩んでおり、1週間この不具合を考えていましたが解決

出来ませんでした。

まき


 おまけ。
 BJ

 Worksheets("メニュー").OLEObjects("ComboBox1").ListFillRange = vbNullString

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.