[[20210308093336]] 『マクロを動かすと、エクセルが強制終了される』(初心者) ページの最後に飛ぶ

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

 

『マクロを動かすと、エクセルが強制終了される』(初心者)

お世話になっております。
Officeを自動更新に設定していますが、
更新内容によっては以下のマクロを動かすと、「Dia01.Show」のところでエクセルが強制終了されます。
何が原因なのでしょうか。
(バージョン2102 (ビルド 13801.20266 クイック実行) だとエラーになり、Officeを少し前のバージョンに戻すと動きます。)

Public Dia01 As Object
'
Sub 年月入力()
'

    Windows("【経理計算書】.xlsm").Activate
'
    Set Dia01 = DialogSheets("D_年月入力")
'
    Dia01.EditBoxes("Bumon_Name").Text = Cmp_Name
    Dia01.EditBoxes("NENGO").Text = Nengo
    Dia01.EditBoxes("EDIT_YY").Text = ""
    Dia01.EditBoxes("EDIT_MM").Text = ""
'
    Ok_F01 = False
    Do While Ok_F01 = False
        Dia01.Show    '←ここでエクセルが強制終了
        If Ok_F01 = False Then
            MB = MsgBox(MSG, 48, "ERR")
        End If
    Loop
'
End Sub

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 見たことあるコードだなとおもったら2ヶ月ぶりの再投稿ですね。
[[20210108151242]]

 原因はわからないですけど、
 Dialogsheetそのものか、Dialogsheetの中のコードに
 原因があると想像されるので、
 UserFormで書き換えてしまったほうがいいですよ
(´・ω・`) 2021/03/08(月) 10:02

ありがとうございます。

書き換えをしてみます。
(初心者) 2021/03/08(月) 11:10


UserFormに書き換えてコマンドボタンをクリックすると、コマンドボタンの中でしか動かず、
ユーザーフォームを×で閉じると元の構文に戻ります。

自然に元の構文に戻す方法はないでしょうか。

'
Sub 年月入力()
'

    Windows("【経理計算書】.xlsm").Activate
'
    Ok_F01 = False
    Do While Ok_F01 = False
        メインメニュー.Show
'
        If Ok_F01 = False Then
            MB = MsgBox(MSG, 48, "ERR")
        End If
    Loop
'
End Sub

'
Sub CommandButton1_Click()

    YY = Val(TextBox3.Text)
    MM = Val(TextBox4.Text)
    Call OK_CLICK1
End Sub            '←ここでエクセルが強制終了

(初心者) 2021/03/08(月) 17:36


 マクロの全体像がわからないので、なんとも言えません。

 End Sub  '←ここでエクセルが強制終了 

 マクロが終了するのではなく、エクセル自体が終了するのでしょうか? 

 Sub OK_CLICK1() って何をやっているんでしょうか?_
 書き込みできますか?
(´・ω・`) 2021/03/09(火) 10:33

 これですかね?
[[20170524192849]]
(´・ω・`) 2021/03/09(火) 10:35

 現状のUserformのコードを書き込んでください。

 Call OK_CLICK1 はしないで、同等の処理をUserFormの中で実装するようにします。
(´・ω・`) 2021/03/09(火) 10:45

コメント返信:

[ 一覧(最新更新順) ]


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