Excel VBA質問箱 IV

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

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


41437 / 76735 ←次へ | 前へ→

【40378】Re:inputboxを使ってフィルタ?
発言  Mariko  - 06/7/12(水) 21:55 -

引用なし
パスワード
   ▼JINましん さん:
>早速の回答ありがとうございます。
>下の(例)のように先頭に項目行を入れてみましたが、下記のVBA
>ではうまく動きませんでした。

Keinさんの回答で上手く動作するはずですよ。

>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  あいうまた
>
>
>>フィルターを使うなら、先頭に項目行を入れるのが必須となります。

項目行が必要であれば次のコードを入れてみてください。
あくまでD列での検索ですので、inputboxには、その列の検索文字を
間違わずに入れる事です。
Sub MyFilter()
  Dim CkSt As String

  CkSt = Application.InputBox("抽出する値を入力して下さい")
  If CkSt = "" Then Exit Sub
  Cells.EntireRow.Hidden = False
  On Error Resume Next
  With Range("D2", Range("D65536").End(xlUp)).Offset(, 26)
   .Formula = "=IF($D2=" & """" & CkSt & """" & ","""",1)"
   .SpecialCells(3, 1).EntireRow.Hidden = True
   .ClearContents
  End With
  If Err.Number <> 0 Then
   MsgBox "抽出されたデータはありません", 48
   Err.Clear
  End If
End Sub

下のコードは戻し用です
Sub MyUnFilter()
  Cells.EntireRow.Hidden = False
End Sub

試してみてください。

0 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 お礼

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