Excel VBA質問箱 IV

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

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


38916 / 76738 ←次へ | 前へ→

【42948】Re:Calcurateイベントについて
回答  りん E-MAIL  - 06/9/26(火) 20:59 -

引用なし
パスワード
   あおがえる さん、こんばんわ。

>皆様のご好意にさらに甘えるようで申し訳ないのですが、例えば下記のコードで(A1)のセルの計算値が変わったときにはTEST、(A2)のセルの計算値が変わったときにはTEST1、(A3)のセルの計算値が変わったときにはTEST2のマクロを実行するようにするにはどうしたらいいでしょうか?

adatを配列にして、複数のセルに対応しました。

ブックをオープンしたときに、最初の値を配列に入れるようにすればエラーも少なくなると思うので少々変更。

全部Thisworkbookに書いてください。

Dim adat(1 To 3) As Variant 'Aの内容をずっと覚えておく為の配列
Private Sub Workbook_Open()
  Dim II As Integer
  With Application.Thisworkbook.Worksheets("Sheet1") 'シート限定
   For II = 1 To 3
     adat(II) = .Cells(II, 1).Value
   Next
  End With
End Sub
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
  If Sh.Name = "Sheet1" Then 'シート限定
   Dim II As Integer
   With Sh
     If adat(1) <> .Range("A1").Value Then TEST1
     If adat(2) <> .Range("A2").Value Then TEST2
     If adat(3) <> .Range("A3").Value Then TEST3
     '入替
     For II = 1 To 3
      adat(II) = .Cells(II, 1).Value
     Next
   End With
  End If
End Sub
'//////ダミーの分岐先
Sub TEST1()
  MsgBox adat(1), vbInformation, "A1"
End Sub
Sub TEST2()
  MsgBox adat(2), vbInformation, "A2"
End Sub
Sub TEST3()
  MsgBox adat(3), vbInformation, "A3"
End Sub

もう解決済かもしれませんが。
さっき気づきました、すみません。

0 hits

【42546】Calcurateイベントについて あおがえる 06/9/14(木) 17:27 質問
【42548】Re:Calcurateイベントについて りん 06/9/14(木) 18:25 回答
【42551】Re:Calcurateイベントについて kobasan 06/9/14(木) 19:20 発言
【42552】Re:Calcurateイベントについて りん 06/9/14(木) 20:04 回答
【42553】Re:Calcurateイベントについて kobasan 06/9/14(木) 21:26 発言
【42579】Re:Calcurateイベントについて あおがえる 06/9/15(金) 14:29 お礼
【42948】Re:Calcurateイベントについて りん 06/9/26(火) 20:59 回答
【42967】Re:Calcurateイベントについて あおがえる 06/9/28(木) 10:57 質問
【42975】Re:Calcurateイベントについて りん@昼休憩 06/9/28(木) 12:56 回答
【43048】Re:Calcurateイベントについて あおがえる 06/9/30(土) 10:43 お礼
【42549】Re:Calcurateイベントについて カド 06/9/14(木) 18:50 回答
【42587】Re:Calcurateイベントについて あおがえる 06/9/15(金) 19:43 お礼

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