Excel VBA質問箱 IV

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

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


55226 / 76738 ←次へ | 前へ→

【26290】Re:暴走の理由
お礼  いのっち  - 05/6/30(木) 16:31 -

引用なし
パスワード
   こんにちは。アドバイスありがとうございましたm(_._)m
ステップ的に教えていただいたので、changeの仕組みが
なぜ暴走するのか、理解が進み、助かりました。
色々とつたない私のやり方で試してみたら、アドバイスのおかげで
ちゃんと動くようになりました、また、新たな疑問も出てきましたが、
また再質問できましたら、よろしくお願いいたします。

--------------------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
'イベントの暴走を食い止めるおまじないstart
 Application.EnableEvents = False
 
 Select Case Range("A1").Value
 Case 1
  Range("B1").Value = 2
  Range("C1").Value = 3
 Case 2
  Range("B1").Value = 3
  Range("C1").Value = 4
 Case 3
  Range("B1").Value = Range("A1").Value + 1
  Range("C1").Value = Range("A1").Value + 2
 Case Else
  Range("B1").Value = 0
  Range("C1").Value = 0
 End Select
  
 Select Case Range("A2").Value
 Case Null
 
 Range("A2").Value = Null
 Range("B2").Value = Null
 Range("C2").Value = Null
 
 Case Else
 Range("B2").Value = Range("A2").Value + 1
 Range("C2").Value = Range("A2").Value + 2
'MsgBox Range("A2").Value
  
 End Select
 
 Dim hen As Integer
 
 For hen = 3 To 100
 
 Select Case ActiveSheet.Cells(hen, 1).Value
 
  Case ""
  ActiveSheet.Cells(hen, 2).Value = Null
  ActiveSheet.Cells(hen, 3).Value = Null
    
  Case Else
  ActiveSheet.Cells(hen, 2).Value = ActiveSheet.Cells(hen, 1).Value + 1
  ActiveSheet.Cells(hen, 3).Value = ActiveSheet.Cells(hen, 1).Value + 2
  
 End Select
 
 Next
  
'イベントの暴走を食い止めるおまじないend
 Application.EnableEvents = True

End Sub
--------------------------------------------------------------------------
※新たな疑問というのはCase""とした時とCase Nullとした時動作が違うので・・・
?という感じですが、いま、調査中です。

0 hits

【26257】マクロの暴走について いのっち 05/6/29(水) 18:41 質問
【26259】Re:マクロの暴走について Kein 05/6/29(水) 19:18 回答
【26289】Re:マクロの暴走について いのっち 05/6/30(木) 16:30 発言
【26317】Re:マクロの暴走について Kein 05/7/1(金) 11:54 発言
【26328】Re:マクロの暴走について いのっち 05/7/1(金) 14:42 お礼
【26266】暴走の理由 [名前なし] 05/6/29(水) 23:10 発言
【26290】Re:暴走の理由 いのっち 05/6/30(木) 16:31 お礼
【26300】Re:暴走の理由 [名前なし] 05/6/30(木) 22:26 回答
【26307】Re:暴走の理由 いのっち 05/7/1(金) 9:43 お礼

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