Excel VBA質問箱 IV

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

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


415 / 13645 ツリー ←次へ | 前へ→

【80485】オートフィルターの可変できる絞り込み VBA勉強始めました 19/2/18(月) 12:16 質問[未読]
【80486】Re:オートフィルターの可変できる絞り込み ピンク 19/2/18(月) 14:06 回答[未読]
【80488】Re:オートフィルターの可変できる絞り込み ピンク 19/2/18(月) 14:11 発言[未読]
【80490】Re:オートフィルターの可変できる絞り込み VBA勉強始めました 19/2/18(月) 14:13 発言[未読]
【80489】Re:オートフィルターの可変できる絞り込み VBA勉強始めました 19/2/18(月) 14:11 質問[未読]
【80491】Re:オートフィルターの可変できる絞り込み ピンク 19/2/18(月) 14:28 発言[未読]
【80492】Re:オートフィルターの可変できる絞り込み VBA勉強始めました 19/2/18(月) 16:05 お礼[未読]

【80485】オートフィルターの可変できる絞り込み
質問  VBA勉強始めました  - 19/2/18(月) 12:16 -

引用なし
パスワード
   初めまして。

仕事の効率化の為にとVBAの参考書を購入し
Webなども参考にしつつ、見よう見まねで作成しているのですが
どうしてもこれが分からず先に進みません・・・。


A列〜BD列まで、行数は月によって増減しますが、
それぞれに文字列ないし数値が入ったファイルを使用しております。
このファイルのI列には1〜15までの数値が入力されており、
I列にオートフィルターを設定し、任意の数値でフィルターをかけたいと考えており
下記のようなコマンドを作ったのですがオートフィルターまではうまくいけるのですが
I列のフィルターがInputBoxで入力した数値以外での絞り込みになりません・・・。

フィルターの中身を確認すると数値フィルターの値がAutofilterのなっています。
Criteria1:="<>Autofilter"←ここが間違っているのだとは分かるのですが
参考書にも書いてなくてどう直せば良いのかが分かりません・・・。

皆様のお知恵を貸していただきたく、投稿させて頂きました。
どうか、よろしくお願い致します。


Sub Autofilter()

Dim Autofilter As Long
Autofilter = InputBox("抽出したい大分類コードを入力してください。")
Selection.Autofilter
ActiveSheet.Range("A1").Autofilter _
      Field:=9, Criteria1:="<>Autofilter"
End Sub

【80486】Re:オートフィルターの可変できる絞り込み
回答  ピンク  - 19/2/18(月) 14:06 -

引用なし
パスワード
     Dim Autofilter As Long
  Autofilter = InputBox("抽出したい大分類コードを入力してください。")
  ActiveSheet.Range("A1").Autofilter _
      Field:=9, Criteria1:=Autofilter

【80488】Re:オートフィルターの可変できる絞り込み
発言  ピンク  - 19/2/18(月) 14:11 -

引用なし
パスワード
   >  Autofilter = InputBox("抽出したい大分類コードを入力してください。")

Autofilter を変数に使用するのは好ましくないので

Dim n As Long
n = InputBox("抽出したい大分類コードを入力してください。")
ActiveSheet.Range("A1").Autofilter _
  Field:=9, Criteria1:=n

【80489】Re:オートフィルターの可変できる絞り込み
質問  VBA勉強始めました  - 19/2/18(月) 14:11 -

引用なし
パスワード
   ピンク様

ご回答いただき、ありがとうございます!
もしよろしければ、もう一つ教えて頂きたいのですが
InputBoxで入力した数値以外にフィルターをかけたい場合は
Criteria1:="<>Autofilter"だとエラーになるのですが
どのようにすれば○以外でフィルターができますか?

よろしくお願い致します。


▼ピンク さん:
>  Dim Autofilter As Long
>  Autofilter = InputBox("抽出したい大分類コードを入力してください。")
>  ActiveSheet.Range("A1").Autofilter _
>      Field:=9, Criteria1:=Autofilter

【80490】Re:オートフィルターの可変できる絞り込み
発言  VBA勉強始めました  - 19/2/18(月) 14:13 -

引用なし
パスワード
   ピンク様

色々教えて頂き、ありがとうございます。
私の参考書では「変数はあとで見てもわかるように」とあったので
分かりやすくしたのですが好ましくないのですね・・・
すぐにご教授頂いた通り、修正しました。


▼ピンク さん:
>>  Autofilter = InputBox("抽出したい大分類コードを入力してください。")
>
>Autofilter を変数に使用するのは好ましくないので
>
>Dim n As Long
>n = InputBox("抽出したい大分類コードを入力してください。")
>ActiveSheet.Range("A1").Autofilter _
>  Field:=9, Criteria1:=n

【80491】Re:オートフィルターの可変できる絞り込み
発言  ピンク  - 19/2/18(月) 14:28 -

引用なし
パスワード
   >InputBoxで入力した数値以外にフィルターをかけたい場合は
>Criteria1:="<>Autofilter"だとエラーになるのですが
>どのようにすれば○以外でフィルターができますか?

n値、以外は
Dim n As Long
n = InputBox("抽出したい大分類コードを入力してください。")
ActiveSheet.Range("A1").AutoFilter _
  Field:=9, Criteria1:="<>" & n

【80492】Re:オートフィルターの可変できる絞り込み
お礼  VBA勉強始めました  - 19/2/18(月) 16:05 -

引用なし
パスワード
   ピンク様

ありがとうございます!
教えて頂いたコードで無事動きました!

もっと良い参考書を購入してさらに勉強したいと思います。
本当にありがとうございました。


▼ピンク さん:
>>InputBoxで入力した数値以外にフィルターをかけたい場合は
>>Criteria1:="<>Autofilter"だとエラーになるのですが
>>どのようにすれば○以外でフィルターができますか?
>
>n値、以外は
>Dim n As Long
>n = InputBox("抽出したい大分類コードを入力してください。")
>ActiveSheet.Range("A1").AutoFilter _
>  Field:=9, Criteria1:="<>" & n

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