[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAについて』(ZUU)
教えてください。資材発注のファイルを作ろうとしているのですが、部品を一括でチェックを入れたあとに、いらない部品を抜くという事をしようとしています。A1がフィルターのドロップダウンリストの(すべて選択)みたいな動きをしたいです。
よろしくお願いします。
・A1とB1:B6をダブルクリックするとチェックマークが入り、もう一度ダブルクリックすると、空白になる
・A1にチェックマークが入ると、B1:B6にチェックマークを入れる、A1が空白になるとB1:B6も空白になる
という下記コードですが、A1にチェックマークを入れた状態で、B1:B6をダブルクリックしても、チェックマークが消えません。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A1,B1:B6")) Is Nothing = False Then Cancel = True If Target.Value = ChrW(10003) Then Target.ClearContents Else Target.Value = ChrW(10003) End If End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("A1").Value = ChrW(10003) Then Range("B1:B6").Value = ChrW(10003) Else Range("B1:B6").Value = "" End If End Sub
< 使用 Excel:Excel2013、使用 OS:Windows8 >
使うべきは、Changイベントではなですか。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Application.EnableEvents = False If Target.Value = ChrW(10003) Then Range("B1:B6").Value = ChrW(10003) Else Range("B1:B6").Value = "" End If Application.EnableEvents = True
End Sub
(マナ) 2019/04/18(木) 19:57
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim r As Range
Set r = Range("A1,B1:B6") If Intersect(Target, r) Is Nothing Then Exit Sub Cancel = True
If Target.Address <> "$A$1" Then Set r = Target
If Target.Value = ChrW(10003) Then r.ClearContents Else r.Value = ChrW(10003) End If
End Sub
(マナ) 2019/04/18(木) 20:13
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.