- ベストアンサー
ユーザーが入力したテキストをシートから検索する方法
エクセル2003でマクロの勉強をしています ユーザーフォームを作成し、その中にテキストボックスを 作りました。そのテキストボックスの中に文字を入力 させて、それをシートから検索させたいのですが Cells.Find(What="") ""に何を書いたらいいのかさっぱりわかりません。 ご存知の方、教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Cells.Find(What="") ↓ Cells.Find(What=:"検索する文字定数") または Cells.Find(What=:検索する文字を入れた変数名) テキストボックスから入力した値を入れる変数の 名前を指定すればいいです。
その他の回答 (2)
- KenKen_SP
- ベストアンサー率62% (785/1258)
こんにちは。KenKen_SP です。 Private Sub CommandButton1_Click() Cells.Find( _ What:=Me.TextBox1.Text, _ LookIn:=xlValues, _ LookAt:=xlWhole, _ MatchByte:=False).Activate End Sub Find メソッドは次の注意点があります。これは手動で[検索と置換 ダイアログ]を設定したものでも、VBA の Findメソッド実行時に、 その設定が継承されていますので、明示的に設定してやる必要があ ります。 【Excel VBA ヘルプより引用】 引数 LookIn、LookAt、SearchOrder、および MatchByte の設定は、 このメソッドが使われるたびに保存されます。次にこのメソッドを 使うときに、これらの引数の指定を省略すると、保存された設定が 使われます。
補足
すみません、テキストボックスがどこにあるか指定するのを忘れてました・・。無事解決しました^^ところで、アクティブセルのひとつ右をアクティブにするってどうやったらいいかご存知の方いらっしゃいますか??
- papayuka
- ベストアンサー率45% (1388/3066)
Excel2000ですが、UserFormにTextBox1とCommandButton1を置いて、 CommandButtonのClickイベントに#1さんへの補足と同様のコードを 書いて実行したら動きましたけど、、、 Private Sub CommandButton1_Click() A = TextBox1 Cells.Find(What:=A).Activate End Sub
補足
動くことは動きますけどちゃんと検索されていません・・。
補足
Sub 検索() A = TextBox1 Cells.Find(What:=A).Activate End Sub こんな感じで書いてみたんですが・・・ なぜか検索されず左上のセルがアクティブになります。。 さっぱりです、。。