|
▼β さん:
>▼洋子 さん:
>
> たとえば以下のように統合する手はありますね。
> さらに、別の処理も、今後加わるかもしれませんので、私がアップしたブロック、
> 該当なかったらExit Sub としていたところを 該当あれば実行に変えておきました。
>
> なお、●のところ、貼付 内でこのシートのセルを触っているのかどうかわかりませんが
> もし、触っている場合、無駄なイベント連鎖が発生しますし、触り方によっては
> 無限ループに陥りますので、イベント発生の抑止/再開 をいれておきました。
>
>Private Sub Worksheet_Change(ByVal Target As Range)
> Const TgCel = "N5" ' <-- 特定セルを指定
> Dim adr As Variant
> Dim a As Range
> Dim x As Long
>
> If Not Intersect(Range(TgCel), Target) Is Nothing Then
> If Range(TgCel) <> "" Then
> Application.EnableEvents = False '●
> 'MsgBox "セル" & TgCel & " に値が入力されました。"
> Call 貼付 ' <-- 実行するマクロ指定
> Application.EnableEvents = True '●
> End If
> End If
>
> adr = Array("G8", "I10", "K14", "M18", "H24", "K31", "N27", "G8") '★
> Set a = Range(Join(adr, ","))
> If Not Intersect(Target(1), a) Is Nothing Then
> x = WorksheetFunction.Match(Target(1).Address(False, False), adr, 0)
> Range(adr(x)).Select
> End If
>
>End Sub
β さん
有難うございます。
完成いたしました。感激です・・・・
|
|