Excel VBA質問箱 IV

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

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


4786 / 76732 ←次へ | 前へ→

【77562】Re:マクロ実行後に「応答なし」
回答  ウッシ  - 15/10/23(金) 14:36 -

引用なし
パスワード
   こんにちは

原因は分かりませんが、コードの書き方で、変数の宣言を強制するように
ツール、オプションで設定しておきましょう。

Option Explicit

Sub 選択した項目の前回登録情報をコピー()
  Dim mSh As Worksheet
  Dim sR As Range
  Dim m  As String
  Dim rc As Variant
  Dim tSh As Worksheet
  
  On Error Resume Next
  Set tSh = Workbooks("151022_同一再稼働支援ツール.xlsm") _
        .Worksheets("登録票")
  On Error GoTo 0
  
  If tSh Is Nothing Then
    MsgBox "151022_同一再稼働支援ツール.xlsmが開かれていないか、" & _
        (Chr(10) & Chr(13)) & _
        "登録票シートが存在しません。" & _
        (Chr(10) & Chr(13)) & _
        "処理を中断します"
    Exit Sub
  End If
  
  Set mSh = ActiveWorkbook.ActiveSheet
  Set sR = Selection
    
  m = "選択しているセルの内容を、前回登録時の情報に書き換えます。"
  m = m & (Chr(10) & Chr(13))
  m = m & "この機能はセルの位置が完全一致している時のみ使用できます。"
  m = m & (Chr(10) & Chr(13))
  m = m & "よろしければ[OK]を押下してください。"
  
  rc = MsgBox(m, vbOKCancel + vbQuestion, "※要注意※")
 
  If rc = vbOK Then
    Workbooks("151022_同一再稼働支援ツール.xlsm") _
      .Worksheets("登録票").Range(sR.Address).Copy sR
  Else
    MsgBox "処理を中断します"
  End If
  
  Application.Calculation = xlCalculationAutomatic
  Application.ScreenUpdating = True
  Application.EnableEvents = True

End Sub

インデントを付けてコードを見やすく。

  Application.EnableEvents = True

としてあると言う事はチェンジイベントがあるのですか?

  Application.Calculation = xlCalculationAutomatic

の計算実行との順序は大丈夫ですか?
0 hits

【77559】マクロ実行後に「応答なし」 viaggio 15/10/22(木) 16:33 質問[未読]
【77562】Re:マクロ実行後に「応答なし」 ウッシ 15/10/23(金) 14:36 回答[未読]
【77563】Re:マクロ実行後に「応答なし」 viaggio 15/10/23(金) 14:53 お礼[未読]

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