[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『複数セルのコピー時のchengeイベント』(もも)
単一セルをコピペしたら、チェンジイベントが発生して 希望通りになるのですが、複数セルをコピペしたら、うまくいきません。
Target.Count > 1 Then Exit Sub
で、単一セルでなければ、処理を抜けているので当然と言えば当然なんですが・・・
やりたい事は、
Target行のA列にTarget行の一行上のA列の値を入れる。 (Target行が複数でもすべてのTarget行のA列に値を入れたい)
現状単一セルであれば、コピペで変更してもOK もちろん、同じ行で複数セルの変更入力をしても、該当のセルを変更するときは 単一セルなので、当然OK
でも、複数セルのコピぺで変更したときに、該当セルが含まれていても 反応なしです。⇒これを、可能にしたい。
言ってることが、矛盾しているというか、自分で先に単一セルでなければ 処理を抜けてるわけですから・・・。ただ、そうしないと 複数セルを選択した時に、「型が一致しない」というエラーが出るので・・・。 と、いうことは、やぱり無理なんでしょうか。
代替え案でも、何かお知恵をお貸しください。 よろしくお願いいたします。
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub : Target.Row .... : End Sub を Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Range Application.EnableEvents = False For Each r In Target : r.Row .... ' For の中は今までの処理:ただし Target を r に変えて : Next Application.EnableEvents = True End Sub のようにすれば、変更したセルが順番に処理されると思いますが、どうでしょうか。 (Mook)
こんなのですか? 使い勝手が悪そうですが。。。(ROUGE) Private Sub Worksheet_Change(ByVal Target As Range) Dim rr As Range Application.EnableEvents = False For Each rr In Intersect(Target.EntireRow, Range("A:A")) If rr.Row > 1 Then rr.Value = rr.Offset(-1).Value Next Application.EnableEvents = True End Sub
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.