Excel VBA質問箱 IV

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

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


12413 / 13646 ツリー ←次へ | 前へ→

【10576】マクロ動作の確認 jin 04/2/2(月) 19:19 質問
【10579】Re:マクロ動作の確認 Asaki 04/2/2(月) 20:26 回答
【10605】Re:マクロ動作の確認 Jaka 04/2/3(火) 13:48 回答
【10631】Re:マクロ動作の確認 jin 04/2/4(水) 12:31 発言
【10632】Re:マクロ動作の確認 Asaki 04/2/4(水) 12:38 回答

【10576】マクロ動作の確認
質問  jin  - 04/2/2(月) 19:19 -

引用なし
パスワード
   エクセルを別名保存するときと閉じるときのマクロの動作を確認するにはどのようにしたらよいでしょうか?

あるセルの値がエクセルを別名保存したときにクリアされてしまう。
閉じるときに値がクリアされているように目で確認できる。
でも何故か原因を見つけられません。

特に上書き保存時のマクロを組んでいるわけではないので、上書き保存を行う動作をデバックしたいのですが、どうしたら確認できるでしょうか?

初歩的な質問かもしれませんが、頭を悩ませています。
お願いします。

【10579】Re:マクロ動作の確認
回答  Asaki  - 04/2/2(月) 20:26 -

引用なし
パスワード
   こんばんは。

別名保存の処理が完了した後、セルの内容がクリアされているということですか?
BeforeClose イベントでは、何も処理はされていませんか?

【10605】Re:マクロ動作の確認
回答  Jaka  - 04/2/3(火) 13:48 -

引用なし
パスワード
   質問の意味が良く解りません。
一般操作の事なんでしょうか?

マクロだったらコードも提示された方が良いと思います。

[#8874]
ここも関係しているかも。

【10631】Re:マクロ動作の確認
発言  jin  - 04/2/4(水) 12:31 -

引用なし
パスワード
   ▼Jaka さん:
>質問の意味が良く解りません。
>一般操作の事なんでしょうか?
>
>マクロだったらコードも提示された方が良いと思います。
>
>[#8874]
>ここも関係しているかも。

いろいろご指摘ありがとうございます。

Private Sub Workbook_BeforeClose(Cancel As Boolean)
End Sub
では何も設けていないので、素通りします。
しかし、そのあとよく調査してみると
Sheet1に記述しているPrivate Sub CboCmp_Change(コンボボックス値変更)に飛んでいましてその中のマクロが原因でした。

対処はできましたが、何故そのような現象(BeforeCloseで呼び出してもいないのに他のPGに飛ぶ)がおきるのか分かっていません。

思い当たるふしがありましたら、教えてください。
お願いします。

記述マクロ 一部 以下に

---ThisWorkBook内 マクロ
Private Sub Workbook_BeforeClose(Cancel As Boolean)
End Sub

---Sheet1内 マクロ
Private Sub CboCmp_Change()

  If intOldCmp = CboCmp.ListIndex Or CboCmp.ListIndex = -1 Then
     ''Sheet1.Cells(5, "N") = stroldCmp
  Exit Sub
  End If
  If objSh_Chk.Cells(108, "J") > 0 Then
    If vbCancel = MsgBox("AAA", vbOKCancel + vbInformation) Then
      CboCmp.ListIndex = intOldCmp
      Exit Sub
    End If
  ElseIf vbCancel = MsgBox("BBB", vbOKCancel + vbInformation) Then
    CboCmp.ListIndex = intOldCmp
    Exit Sub
  End If
    
  intOldCmp = CboCmp.ListIndex
    
  Call wind_system.Module1.setDefInf
  Call wind_system.Module1.setPrt
  
  MsgBox "完了しました。", vbInformation + vbOKOnly
  
End Sub

【10632】Re:マクロ動作の確認
回答  Asaki  - 04/2/4(水) 12:38 -

引用なし
パスワード
   コンボボックスは、複数列の表示でしょうか?
Value と Text が異なるようなプロパティの設定にしていると、
理由がよく判りませんが、Close前に Value=Text という処理をしようとするようです。
このため、コンボボックスのチェンジイベントが起動して、おかしなことになるようです。

#違っていたらすみません。

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