|
▼ごろり さん:
こんにちは。
>Private Sub Worksheet_Change(ByVal Target As Range)
> If Target.Address = "$B$4" And Target.Value <> "" Then Call AAA
> If Target.Address = "$E$5" And Target.Value = 2 Then Call BBB
>End Sub
(略)
>手でA1とA2をコピーし、B1とB2に貼り付けようとすると
>Target.Addressに"$B$1:$B$2"をいれようとしてエラーになります。(型の不
>一致)
>複数のセルの値をDELETEとしようとしてもエラーになってしまいます。
>IF文とは関係ないところに手をつけたのになぜ起こったのか、わからないです
>。
Target が複数のセルを持つ範囲の場合、プロパティとしてValueを指定することはできないようです。
なので、If文で、Target.Value を比較しようとしているところでエラーになっています。
If Target.Address = "$B$4" Then
If Target.Value <> "" Then Call AAA
End If
と分ければ、複数せる範囲の場合は外側のIf文ではじかれるので大丈夫です。
また、比較の前に、Target.Count が1より大きかったらはじくようにしても大丈夫だと思います。
こっちの方がスマートかな?
|
|