Excel VBA質問箱 IV

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

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


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

【47617】担当者抽出 初心者 07/3/16(金) 15:30 質問[未読]
【47618】Re:担当者抽出 ウッシ 07/3/16(金) 16:00 発言[未読]
【47620】Re:担当者抽出 りん@とおりすがり 07/3/16(金) 16:24 回答[未読]
【47621】Re:担当者抽出 ウッシ 07/3/16(金) 16:27 発言[未読]
【47623】Re:担当者抽出 初心者 07/3/16(金) 16:49 お礼[未読]

【47617】担当者抽出
質問  初心者 E-MAIL  - 07/3/16(金) 15:30 -

引用なし
パスワード
   お世話になっております。

A3〜I3が表題になっておりまして、
F3が担当者の名前が入っており、
オートフィルタで苗字だけで、検索したいのですが
下のマクロでは、フィルターは出るのですが、検索できません。
煮詰まってしまい、どこが悪いか教えて頂けますでしょうか。
宜しくお願い致します。

Sub 担当者抽出()

Dim strMoji As Variant

strMoji = InputBox("担当者の名前を入力して下さい")
strMoji = "*" & strMoji & "*"
Range("A3:I3").AutoFilter Field:=6, Criteria1:=strMoji

End Sub

【47618】Re:担当者抽出
発言  ウッシ  - 07/3/16(金) 16:00 -

引用なし
パスワード
   こんにちは

あまり問題なさそうなんですけど、苗字なら先頭一致で

strMoji = strMoji & "*"

でいいのでは?

【47620】Re:担当者抽出
回答  りん@とおりすがり  - 07/3/16(金) 16:24 -

引用なし
パスワード
   初心者 さん、こんにちわ。

>Range("A3:I3").AutoFilter Field:=6, Criteria1:=strMoji
  ↑これだと見出行だけに適用になるので、
Range("A3:I3").CurrentRegion〜 として範囲を拡張するか、

行の一番下を検索して適用します。

Sub 担当者抽出()
  Dim strMoji As Variant, Rmax As Long
  strMoji = InputBox("担当者の名前を入力して下さい")
  '
  If strMoji = "" Then
   MsgBox "キャンセル", vbExclamation
  Else
   strMoji = "*" & strMoji & "*"
   With Application.ActiveSheet
     Rmax = .Range("F65536").End(xlUp).Row 'フィルタする範囲
     .Range("A3:J" & CStr(Rmax)).AutoFilter Field:=6, Criteria1:=strMoji
   End With
  End If
End Sub

こんな感じです。

【47621】Re:担当者抽出
発言  ウッシ  - 07/3/16(金) 16:27 -

引用なし
パスワード
   こんにちは

Range("A3:I3")だったんですね。

Range("A3:I3").CurrentRegionで指定出来る表形式なら

Sub 担当者抽出()
  Dim strMoji As Variant
  strMoji = InputBox("担当者の名前を入力して下さい")
  strMoji = strMoji & "*"
  Range("A3").AutoFilter Field:=6, Criteria1:=strMoji
End Sub

でいけますね。

【47623】Re:担当者抽出
お礼  初心者 E-MAIL  - 07/3/16(金) 16:49 -

引用なし
パスワード
   皆様、お手数お掛けしました。

担当者の抽出ができました。
ありがとうございます。

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