
キーワード検索ボックスを作ろうとしていますが、途中マクロを実行すると、「コンパイルエラー 変数が定義されていません」と出て、
Sub 品名検索()の部分が黄色くなり、そのすぐ下のans =が青くなっています。
どうすればよいのでしょうか?
作ったコードは以下です。
Sub 品名検索()
ans = InputBox("文字列を入力してください")
ans = StrConv(ans, vbNarrow) '全角入力を半角に変換
With ActiveSheet
If .AutoFilterMode Then 'オートフィルタモードがオンなら
.AutoFilterMode = False 'リセットする
End If
.Range("A4:IV4").AutoFilter 'オートフィルタモードをセット
.Range("A4:IV4").AutoFilter Field:=5, Criteria1:="=*" & ans & "*" '5つ目のフィルターに検索文字
End With
End Sub
これでE4セルをダブルクリックすると、表示が出てとまってしまいました。
No.1ベストアンサー
- 回答日時:
こんにちは。
使用している変数ansが定義されていないのではないでしょうか?
ソースの上の一番上に"Option Explicit"と書いてあると、使用する変数は必ず宣言が必要となります。(これはエディタのツール→オプションで宣言を強制するかを設定できます。)
回避策としては、Sub 品名検索()・・・の下に、
Dim ans as String
と追加してみてください。
Dim 変数名 as 型
で変数を宣言するということになります。
No.2
- 回答日時:
「Option Explicit」が記述されていませんか。
これはマクロ内で使用する変数は、先に宣言しておかなければならないという宣言文です。
この為、InputBox関数で「ans」が定義されていない為に警告されたと思います。
因みにプロレベルのコーディングならいざ知らず、一般のVBAユーザでは不要ですのでこのオプションは削除される事をお勧めします。(VBE画面→ツール→オプション→変数の宣言を強制するのチェックを外す)
回答ありがとうございます。
Option Explicitは削除しても問題ないのですね。
これからはOption Explicitの記述なしで作ろうと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間 3 2023/07/05 06:13
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
べき乗
-
皆さん定義を教えてください 「...
-
「互いに素」の定義…「1と2は互...
-
1未満と1以下の違い
-
無限から無限を引いたら何にな...
-
ACCESS VBAでインポート定義の場所
-
√6=√(-2)(-3)=√(-...
-
「logx^2=2logx」が間違って...
-
フーリエ級数展開の初項はなぜa...
-
絶対値lil iは虚数単位です こ...
-
数字の1とは何なのか?
-
k代数 部分集合Sで、生成された...
-
eの0乗は1ってどういう原理です...
-
1wordとは、何文字ですか?
-
複雑な家庭とは
-
0と0は互いに素か
-
√a2乗のルートをはずしなさい。...
-
excel vba 名前付きセルが存在...
-
なぜ、直角三角形ではないのにs...
-
定義できないことを教えてくだ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
皆さん定義を教えてください 「...
-
べき乗
-
最大元と極大元の定義の違いが...
-
「互いに素」の定義…「1と2は互...
-
無限から無限を引いたら何にな...
-
1未満と1以下の違い
-
ヘシアンが0の場合どうやって極...
-
eの0乗は1ってどういう原理です...
-
なぜ、直角三角形ではないのにs...
-
「logx^2=2logx」が間違って...
-
日本語 ことば ひとまわり ふた...
-
複雑な家庭とは
-
ACCESS VBAでインポート定義の場所
-
\\mathrmと\\rmの違いについて...
-
texのchapterの改ページについて
-
p⇒q=(¬p)∨qについて
-
2変数関数の極値について
-
正方行列ではない行列にも行列...
-
tanhXの近似式について
-
excel vba 名前付きセルが存在...
おすすめ情報