アプリ版:「スタンプのみでお礼する」機能のリリースについて

所定のセルを参照して、フィルターをかけるマクロを教えていただきたいです。

所定のセル(B1)が空白の時は全表示、入力されているときはフィルターがかかる、というような内容です。
(B4)以下がフィルターをかける条件範囲となり、行数は変わります。

※画像はフィルターをかけた後のイメージとなり、フィルターをかけた後、別の列やシートに貼り付ける必要はありません

わかりづらいご説明で申し訳ありませんが、よろしくお願いいたします。

「マクロ オートフィルタの検索値を所定のセ」の質問画像

A 回答 (3件)

No.1です。



投稿後間違いに気づきました。
>Range(Cells(3, "B"), Cells(lastRow, "C")).AutoFilter field:=1, Criteria1:=Target

>Range(Cells(4, "B"), Cells(lastRow, "C")).AutoFilter field:=1, Criteria1:=Target
に変更してください。

画像を拝見するとB4セル以降(項目行を含む)にデータがありました。m(_ _)m
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
B1ではなく、B2でした!失礼いたしましたm(_ _)m
理想通りにできました!
助かりました。

お礼日時:2019/06/07 15:34

普通に、エクセルのフィルター機能を使えばよいと思いますが・・・。



 4行目を選択
⇒メニュー → データ → フィルター
⇒▼マークをクリックして、表示したいものを選択します。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
複数人が使用するため、Excelのフィルター機能が使えない人でも使用できるフォーマットを作成したく投稿させていただいた次第です。

お礼日時:2019/06/07 15:27

こんばんは!



>所定のセル(B1)が空白の時は全表示、入力されているときはフィルターがかかる・・・

画像を拝見するとB1ではなく、B2セルになっていますね。
とりあえずB2セルの変化でマクロが実行されるコードです。
シートモジュールにしてください。

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim lastRow As Long
  With Target
   If .Address = "$B$2" Then
    If .Value <> "" Then
     lastRow = Cells(Rows.Count, "B").End(xlUp).Row
     Range(Cells(3, "B"), Cells(lastRow, "C")).AutoFilter field:=1, Criteria1:=Target
    Else
     ActiveSheet.AutoFilterMode = False
    End If
   End If
  End With
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 1

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A