Excel VBA質問箱 IV

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

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


4047 / 13644 ツリー ←次へ | 前へ→

【58590】オ−トフィルターについてお願いします。 ユーザーフォーム 08/10/30(木) 19:45 質問[未読]
【58599】Re:オ−トフィルターについてお願いします。 kanabun 08/10/30(木) 22:21 発言[未読]
【58609】Re:オ−トフィルターについてお願いします。 ユーザーフォーム 08/10/31(金) 10:36 質問[未読]
【58611】Re:オ−トフィルターについてお願いします。 kanabun 08/10/31(金) 10:50 発言[未読]
【58674】Re:オ−トフィルターについてお願いします。 お困りです 08/11/4(火) 15:20 お礼[未読]

【58590】オ−トフィルターについてお願いします。
質問  ユーザーフォーム  - 08/10/30(木) 19:45 -

引用なし
パスワード
   オ−トフィルターについて相談お願いいたします。

まずは構文です。
Worksheets("DATA").Range("A1:AM500").AutoFilter 5, "=*" & UserForm1.TextBox47.Value & "*"
・・E列上のデータをTextbox47に投入した文字により検索を行っています。
ここで、複数の列、
E列以外にG,I,K,M,O列の6列のデータを検索するにはどうしたらよいでしょうか?
また、3列までなら簡単に出来ると聞いたのですが、ご指導お願いたします。

【58599】Re:オ−トフィルターについてお願いしま...
発言  kanabun  - 08/10/30(木) 22:21 -

引用なし
パスワード
   ▼ユーザーフォーム さん:
>オ−トフィルターについて相談お願いいたします。

>ここで、複数の列、
>E列以外にG,I,K,M,O列の6列のデータを検索するにはどうしたらよいでしょうか?

それは E列 かつ G列,かつ I かつ K かつ M かつ O列 ということでしょうか?
それなら、
フィルタ範囲.AutoFilter Field:=5, Criteria1:="*あ*"
フィルタ範囲.AutoFilter Field:=7, Criteria1:="*え*"
フィルタ範囲.AutoFilter Field:=9, Criteria1:="*aaa*"
  :      :     :        :
と、一斉に各列に検索値でフィルタをかければいいです。


そうではなく、
E列 または G列 または I または K または M または O列 のいずれか
がヒットする行を抽出ということでしょうか?

その場合には、フィルタオプションを使います。
どこか空いている列に 検索列の見出しと、検索条件を書き込むわけです。

【58609】Re:オ−トフィルターについてお願いしま...
質問  ユーザーフォーム  - 08/10/31(金) 10:36 -

引用なし
パスワード
   ▼ユーザーフォーム さん:
>オ−トフィルターについて相談お願いいたします。
>
>まずは構文です。
> Worksheets("DATA").Range("A1:AM500").AutoFilter 5, "=*" & UserForm1.TextBox47.Value & "*"
>・・E列上のデータをTextbox47に投入した文字により検索を行っています。
>ここで、複数の列、
>E列以外にG,I,K,M,O列の6列のデータを検索するにはどうしたらよいでしょうか?
>また、3列までなら簡単に出来ると聞いたのですが、ご指導お願いたしま

ご指導ありがとうございます。
すなわち

Worksheets("DATA").Range("A1:AM500").AutoFilter 5, "=*" & UserForm1.TextBox47.Value & "*"

Worksheets("DATA").Range("A1:AM500").AutoFilter 7, "=*" & UserForm1.TextBox47.Value & "*"

Worksheets("DATA").Range("A1:AM500").AutoFilter 9, "=*" & UserForm1.TextBox47.Value & "*"

Worksheets("DATA").Range("A1:AM500").AutoFilter 11, "=*" & UserForm1.TextBox47.Value & "*"

と要った様に単純でよいのでしょうか?
よろしくお願いします。

【58611】Re:オ−トフィルターについてお願いしま...
発言  kanabun  - 08/10/31(金) 10:50 -

引用なし
パスワード
   ▼ユーザーフォーム さん:
>すなわち
>
>Worksheets("DATA").Range("A1:AM500").AutoFilter 5, "=*" & UserForm1.TextBox47.Value & "*"
>
>Worksheets("DATA").Range("A1:AM500").AutoFilter 7, "=*" & UserForm1.TextBox47.Value & "*"
>
>Worksheets("DATA").Range("A1:AM500").AutoFilter 9, "=*" & UserForm1.TextBox47.Value & "*"
>
>Worksheets("DATA").Range("A1:AM500").AutoFilter 11, "=*" & UserForm1.TextBox47.Value & "*"
>
>と要った様に単純でよいのでしょうか?

それは、たとえば、TextBox47.Text が 「あいう」だったとすると、
 
With Worksheets("DATA").Range("A1:AM500")
  .AutoFilter 5, "=*あいう*"
  .AutoFilter 7, "=*あいう*"
  .AutoFilter 9, "=*あいう*"
  .AutoFilter 11, "=*あいう*"
End With

ということをやっているわけです。
つまり、5列目に「あいう」が含まれ、かつ、7列目にも、9列目にも、
同時に、11列目にも 「あいう」が含まれる行 を抽出していることに
なります。
それがしたいことなら、それでいいです。
でも、5列目か、 7列目か 9列目か 11列目かのいずれかに「あいう」が含まれる
行を抽出するなら、AutoFilter は使えません。
フィルタオプションの設定(AdvancedFilter)の方を使います。
Excelのヘルプで フィルタオプションでの 検索条件の書き方を調べてください。

【58674】Re:オ−トフィルターについてお願いしま...
お礼  お困りです  - 08/11/4(火) 15:20 -

引用なし
パスワード
   ▼kanabun さん:
>▼ユーザーフォーム さん:
>>すなわち
>>
>>Worksheets("DATA").Range("A1:AM500").AutoFilter 5, "=*" & UserForm1.TextBox47.Value & "*"
>>
>>Worksheets("DATA").Range("A1:AM500").AutoFilter 7, "=*" & UserForm1.TextBox47.Value & "*"
>>
>>Worksheets("DATA").Range("A1:AM500").AutoFilter 9, "=*" & UserForm1.TextBox47.Value & "*"
>>
>>Worksheets("DATA").Range("A1:AM500").AutoFilter 11, "=*" & UserForm1.TextBox47.Value & "*"
>>
>>と要った様に単純でよいのでしょうか?
>
>それは、たとえば、TextBox47.Text が 「あいう」だったとすると、
> 
>With Worksheets("DATA").Range("A1:AM500")
>  .AutoFilter 5, "=*あいう*"
>  .AutoFilter 7, "=*あいう*"
>  .AutoFilter 9, "=*あいう*"
>  .AutoFilter 11, "=*あいう*"
>End With
>
>ということをやっているわけです。
>つまり、5列目に「あいう」が含まれ、かつ、7列目にも、9列目にも、
>同時に、11列目にも 「あいう」が含まれる行 を抽出していることに
>なります。
>それがしたいことなら、それでいいです。
>でも、5列目か、 7列目か 9列目か 11列目かのいずれかに「あいう」が含まれる
>行を抽出するなら、AutoFilter は使えません。
>フィルタオプションの設定(AdvancedFilter)の方を使います。
>Excelのヘルプで フィルタオプションでの 検索条件の書き方を調べてください。

お礼が遅れてすません。
上記のアドバイスで調べてみます。

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