Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


41439 / 76732 ←次へ | 前へ→

【40373】Re:inputboxを使ってフィルタ?
質問  JINましん  - 06/7/12(水) 18:22 -

引用なし
パスワード
   早速の回答ありがとうございます。
下の(例)のように先頭に項目行を入れてみましたが、下記の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

2 hits

【40357】inputboxを使ってフィルタ? JINましん 06/7/12(水) 14:05 質問
【40365】Re:inputboxを使ってフィルタ? Kein 06/7/12(水) 15:58 回答
【40373】Re:inputboxを使ってフィルタ? JINましん 06/7/12(水) 18:22 質問
【40378】Re:inputboxを使ってフィルタ? Mariko 06/7/12(水) 21:55 発言
【40382】Re:inputboxを使ってフィルタ? Kein 06/7/12(水) 23:12 回答
【40385】Re:inputboxを使ってフィルタ? JINましん 06/7/13(木) 8:31 お礼

41439 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free