Excel VBA質問箱 IV

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

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


8917 / 13644 ツリー ←次へ | 前へ→

【30283】みなさんに教えてもらってここまでいきましたが 川崎 05/10/24(月) 14:21 質問[未読]
【30308】Re:みなさんに教えてもらってここまでいき... BOHBO 05/10/24(月) 22:58 回答[未読]
【30366】Re:みなさんに教えてもらってここまでいき... [名前なし] 05/10/26(水) 4:42 発言[未読]

【30283】みなさんに教えてもらってここまでいきま...
質問  川崎  - 05/10/24(月) 14:21 -

引用なし
パスワード
   Dim Dt1 As Double, Dt2 As Double 'グローバルで宣言(ずっと保持するため)
Sub Workbook_SheetCalculate(ByVal Sh As Object)
If Not IsNumeric(Range("B1").Value) Then Exit Sub
If Range("B1").Value > Dt2 Then
    Dt2 = Range("B1").Value '入力された値
    If Dt1 > 0 Then
      With Application
        .EnableEvents = False
     Range("B2").Value = Dt2 - Dt1
        .EnableEvents = True
      End With
      
    End If
      Dt1 = Dt2
  End If
End Sub

このコードだとSheet1,2,3のどのシートでも
動作しますがアクティブになっている時しか計算
してくれないことに気がつきました。
アクティブでないセルも裏で計算させるのには
どのように書き直したらよいのでしょうか?
どなたかご教授おねがいします。

【30308】Re:みなさんに教えてもらってここまでい...
回答  BOHBO  - 05/10/24(月) 22:58 -

引用なし
パスワード
   ▼川崎 さん:
>動作しますがアクティブになっている時しか計算
>してくれないことに気がつきました。
>アクティブでないセルも裏で計算させるのには
>どのように書き直したらよいのでしょうか?
>どなたかご教授おねがいします。


プログラムを実行するには 必ず実行中のものがACTIVEになります
Activeでないものを実行することは出来ません

Sheet1,2,3とSheetごとに処理を繰り返してはどうですか??

【30366】Re:みなさんに教えてもらってここまでい...
発言  [名前なし]  - 05/10/26(水) 4:42 -

引用なし
パスワード
   >
>プログラムを実行するには 必ず実行中のものがACTIVEになります
>Activeでないものを実行することは出来ません
>
>Sheet1,2,3とSheetごとに処理を繰り返してはどうですか??

そうでしたか、知識不足ですいません。
実行したい計算式などはつねにアクティブなシートで表示させてないと
いけないってことですね。

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