|
早速の回答ありがとうございます。
下の(例)のように先頭に項目行を入れてみましたが、下記のVBA
ではうまく動きませんでした。
Cells.EntireRow.Hidden = False で止まります。
それと、項目のフィルタでは、「うえ」とかのあいまいな検索
フィルタってできるのでしょうか。
お手数かけて申し訳ありません。
初心者ですみませんが回答よろしくお願いします。
(例)
A B C D
1 番号 ID 回答 項目
2 123 345 678 あいうえお
3 910 111 123 えおかきく
4 456 789 101 かきくせの
5 112 124 256 あいうまた
>フィルターを使うなら、先頭に項目行を入れるのが必須となります。
>もし項目を入れたくなければ、どこかに作業列を作って数式を入れ、
>判定結果に基づいてフィルターと同じように行を非表示にする処理を
>コードにすると良いと思います。
>仮に作業列を AD列 にするとして、以下のようなコードになります。
>(なお、抽出する値は必ず 文字列 であることを前提とします)
>
>Sub MyFilter()
> Dim CkSt As String
>
> CkSt = InputBox("抽出する値を入力して下さい")
> If CkSt = "" Then Exit Sub
> Cells.EntireRow.Hidden = False
> On Error Resume Next
> With Range("D1", Range("D65536").End(xlUp)).Offset(, 26)
> .Formula = "=IF($D1=" & """" & CkSt & """" & ","""",1)"
> .SpecialCells(3, 1).EntireRow.Hidden = True
> .ClearContents
> End With
> If Err.Number <> 0 Then
> MsgBox "抽出されたデータはありません", 48
> Err.Clear
> End If
>End Sub
|
|