• ベストアンサー

【Excel】 マクロを補足してください。

A1をダブルクリックすると E、D、C、B列のオートフィルタで「すべて」を 選択するようにしました。 続けて 同じシートで、B1をダブルクリックするとE、D、C列の オートフィルタで「すべて」を選択、 C1をダブルクリックするとE、D列のオートフィルタで 「すべて」を選択するようにしたいのですが、 どのようにしたらよいのでしょうか。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Address <> "$A$1" Then Exit Sub Cancel = True Selection.AutoFilter Field:=5 Selection.AutoFilter Field:=4 Selection.AutoFilter Field:=3 Selection.AutoFilter Field:=2 End Sub お願いいたします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

Select Caseでやる方法もありますね。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Intersect(Target, Range("A1:C1")) Is Nothing Then Exit Sub Cancel = True Select Case Target.Address(0, 0) Case "A1" ' A1ダブルクリックの処理 Case "B1" ' B1ダブルクリックの処理 Case "C1" ' C1ダブルクリックの処理 End Select End Sub

hee1
質問者

お礼

ありがとうございました。 大変上手く行きました。 本当に嬉しいです。

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

以下のようなIf文構造にしたらいかが? If Target.Address = "$A$1" Then ' A1ダブルクリックの処理 Else   If Target.Address = "$B$1" Then '    B1ダブルクリックの処理   Else     If Target.Address = "$C$1" Then '      C1ダブルクリックの処理     End If   End If End If

hee1
質問者

お礼

お返事ありがとうございました。 上手く行きましたが、2で教えていただいた方が 処理が早いようでしたので、今回は2でやってみます。 ありがとうございました。

専門家に質問してみよう