dポイントプレゼントキャンペーン実施中!

表-1の氏名に応じた各日付に記号が入力されています。
下表の記号に日付ごとの記号合計個数が式によって入力されています。
記号の個数の値セル(E17)をアクティブし選出ボタンをクリックしたらその行記号(B17⇒"B")のみがオートフィルタで表-2のように選出表示したいのですが?
VBAでどなたかお解りになる方よろしくお願いします。

「セル指定後マクロ実行ボタンでオートフィル」の質問画像

A 回答 (2件)

例えば・・




フィルタ実行ボタン

Private Sub CommandButton1_Click()
    ' ↓Range("B15")は実際の条件選択の表の左上のセル番地に直す。
    If Not Intersect(Selection, Range("B15").CurrentRegion) Is Nothing Then
        With Range("A2") ' 実際の表の左上セル番地
            If ActiveSheet.AutoFilterMode Then .AutoFilter

            ' 以下同文につき省略
            .AutoFilter Field:=Selection.Column, Criteria1:=Cells(Selection.Row, "B")
        End With
    Else
        MsgBox "ERROR"
        Exit Sub
    End If
End Sub


フィルタ解除ボタン

Private Sub CommandButton2_Click()
    If ActiveSheet.AutoFilterMode Then Range("A2").AutoFilter
End Sub


こんな感じでしょうか。



でも、この程度なら手動でフィルタをかけた方が早くないですかね?
と言う素朴な疑問です。
    • good
    • 0
この回答へのお礼

有難うございます。データーに応用でき大変助かりました。

お礼日時:2013/07/10 22:59

こんにちは!


今回の配置だと・・・

Private Sub CommandButton1_Click()
Dim i As Long, j As Long
i = Selection.Row
j = Selection.Column
Range("A2").CurrentRegion.AutoFilter field:=j, Criteria1:=Cells(i, "B")
End Sub

といった感じでしょうかね!

※ エラー処理を全くしていませんので、データがないセル等を選択 → コマンドボタンクリック だと
マクロが止まってしまいます。m(_ _)m
    • good
    • 0
この回答へのお礼

有難うございます。勉強になりました。

お礼日時:2013/07/10 22:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!