
エクセルのマクロがうまく動かないので、教えてください。
あるセルにカーソルをおいて、そのセルの文字を含んだ文字で(ワイルドカードを使って)オートフィルタ処理をしたいのですが、
「構文エラー」となってしまいます。
Dim num As String
num = ActiveCell.Value
Sheets("リスト").Select
Columns("AN:AN").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="=*"&num&"*", Operator:=xlAnd
ActiveWindow.ScrollColumn = 2
Range("A1").Select
Criteria1:="=*"&num&"*"の部分で
「構文エラー」になっているようなのですが…
お分かりになる方教えてください。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは。
特に、そこ自体に問題ないというか、
VBAの特徴なのですが、「&」の前後に半角スペースが必要です。
"=*"&num&"*"
↓
"=*" & num & "*"
細かいことですが、この「*」アステリク を入れるというのは、対象も文字列ですから、数字が入れば、被検索対象列は、文字列でないといけないはずです。
Columns("AN:AN").Select
また、通常、このような選択をするというのは、飛び石になっている途中の空白も含むという意味になります。ただし、データ列の最後尾から下のセルは含まれません。
Range("AN1").CurrentRegion となります。特に、CurrentRegion がなくても動作的には同じです。
-------------------------------------------------
Dim num As String
num = ActiveCell.Value
Sheets("リスト").Select
'Columns("AN:AN").Select ←不要
Range("AN1").CurrentRegion.AutoFilter Field:=1, Criteria1:="=*" & num & "*", Operator:=xlAnd
'ActiveWindow.ScrollColumn = 2 ←不要
'Range("A1").Select ←不要
-------------------------------------------------
No.3
- 回答日時:
#2です。
数字文字列の場合うまくいくか心配になって。OKのようです。
シングルコーテイションを先頭に入れ数字入力ても、文字列書式にして入力しても。
例データ
計数
123
2312
2345
1222
43111
Sub test03()
Dim num As String
num = ActiveCell.Value
cr = "*" & "23" & "*"
Sheets("sheet3").Cells.AutoFilter
Sheets("sheet3").Cells.AutoFilter Field:=1, Criteria1:=cr
End Sub
結果
計数
123
2312
2345
ついでに、クライテリアの=は、=の場合に限り、省けるようです。
No.2
- 回答日時:
例データ
A列
山田 太郎
植田 太吉
近藤 茂
鈴木 健太郎
小野 正治
太田 恵子
大田
Sub test03()
Dim num As String
num = ActiveCell.Value
cr = "*" & "太" & "*"
Sheets("sheet1").Cells.AutoFilter
Sheets("sheet1").Cells.AutoFilter Field:=1, Criteria1:=cr
End Sub
で
A列
山田 太郎
植田 太吉
鈴木 健太郎
太田 恵子
にないました。
#1でおっしゃっている&の前後スペースが原因でしょうか。
実行時にエラー指摘が出るようになっていたように思いますが。
Select、Selectionは省いて簡潔に。
Sheets("sheet1").Cells.AutoFilterはフィルタモードを解除の為に入れています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
数値をワイルドカードでフィルタしたい
Excel(エクセル)
-
マクロ オートフィルタの検索値を所定のセルから参照
Excel(エクセル)
-
Excelオートフィルタで複数のセルの値を参照して抽出したい
Excel(エクセル)
-
-
4
vba フィルター 複数条件 3つ以上 完全一致除外
Visual Basic(VBA)
-
5
Excel VBAでオートフィルタで抽出した列データを別シートの最終行にコピーするには
Visual Basic(VBA)
-
6
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
7
オートフィルターをかけ、#N/A以外で絞込みするVBA記述をご教示ください
Excel(エクセル)
-
8
VBAで先月、先々月を求める方法
Visual Basic(VBA)
-
9
オートフィルタで未入力(空白)を無視した抽出法
PowerPoint(パワーポイント)
-
10
オートフィルタのリストを順番に印刷できるマクロ
Windows Vista・XP
-
11
excelのマクロで該当処理できなければ飛ばして進むにはどうすればよいのでしょうか
Visual Basic(VBA)
-
12
複数のマクロボタンをまとめて一つのマクロボタンにするということ。
Excel(エクセル)
-
13
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
14
VBAでの Replace関数で、ワイルドカードは使えないのでしょうか?
Visual Basic(VBA)
-
15
VBA 何かしら文字が入っていたら
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで2つの数値のうち大きい...
-
エクセルで、2種類のデータを...
-
エクセルで特定の文字が入って...
-
Excel 指定行までコピーをおこ...
-
Excelで中央揃えが出来ない?
-
Excel2013 カラースケールを別...
-
エクセルのまとめてカッコをつ...
-
Excel強制終了
-
エクセルに入力した文字列に句...
-
Excelの特定のセルを1つおきに...
-
Excel 頭に「0」がついている...
-
数値の列から偶数のみを抽出す...
-
桁の違う数値での並び替え
-
エクセルの関数
-
セル内文章から、英数字のみ取...
-
ある列のセルに特定の文字が入...
-
Excelでセルの高さを保ったまま...
-
エクセル、11と1の区別
-
セルの値による差し込み印刷の...
-
Excelの結合でA列とB列の内容...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで2つの数値のうち大きい...
-
エクセルで、2種類のデータを...
-
Excelで中央揃えが出来ない?
-
エクセルで特定の文字が入って...
-
エクセルのまとめてカッコをつ...
-
Excel 頭に「0」がついている...
-
数値の列から偶数のみを抽出す...
-
Excel 指定行までコピーをおこ...
-
桁の違う数値での並び替え
-
エクセルに入力した文字列に句...
-
Excelの特定のセルを1つおきに...
-
Excel強制終了
-
Excelのデータ間引きについて
-
Excel2013 カラースケールを別...
-
セル内文章から、英数字のみ取...
-
Excelの結合でA列とB列の内容...
-
excelで、1つのセルに入ってい...
-
ある列のセルに特定の文字が入...
-
エクセルで、数値の範囲で仕分...
-
WEEKDAY 空白も7になってしまう
おすすめ情報