• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:このEXCELVBAを複数のセルにも別々に同じ処理をしたい)

EXCELVBAの複数のセルへの別々の処理について

このQ&Aのポイント
  • Excel VBAを使用して、複数のセルに対して別々の処理を行いたい場合、以下のようなコードを使用します。
  • Worksheet_Changeイベントを使用し、対象のセルが変更された場合に処理を実行します。複数のセルに対して処理を行うためには、ターゲットのセルを判別する必要があります。
  • 特定のセルを対象とした処理を行いたい場合は、Target.Addressを使用してセルのアドレスを判別し、処理を実行します。また、処理の内容に応じてウンドゥ(元に戻す)やセルの値の加算など、任意の操作を行うことも可能です。

質問者が選んだベストアンサー

  • ベストアンサー
  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.1

こんにちは。 A列の1行~85行まで利用出来る用に変更してみました。お試しください。 列を変更したい場合は(例えばB列)、Target.Column<>2 にすれば良いです。 Private Sub Worksheet_Change(ByVal Target As range)   If Target.Column > 1 Or Target.Row > 85 Then Exit Sub '←A列以外又はA列85行以上の時は無視   If Target.Value = "" Then Exit Sub   x = Target.Value   With Application     .ScreenUpdating = False     .EnableEvents = False     .Undo     y = Target.Value     Target.Value = x + y     .EnableEvents = True     .ScreenUpdating = True   End With   With Cells(ActiveSheet.Rows.Count, Target.Row * 3).End(xlUp) '←横にカラム3~255まで表示出来る     .Offset(1, 0).Value = x     .Offset(1, 1).Value = Time()   End With End Sub

-saku36-
質問者

お礼

ご回答ありがとうございます。 1.2行変えてしまうだけで、ここまで出来るとは・・ VBAは奥が深いものですね。 ColumnをRowに変えると行になるわけですね。 参考にさせて頂きます、ありがとうございました。