No.4ベストアンサー
- 回答日時:
> NM = ActiveSheet.Shapes.Range(Application.Caller).Name
マクロを単独で実行されたようですね。
前回記述したマクロは、テキストボックスに登録して使います。
マクロを記述したら、テキストボックスの右クリックから "マクロの
登録"を選択して SearchByTxtbox を指定します。
その後、テキストボックスをクリックしますと、ボックス内に入力さ
れている文字を含むセルを検索します。
続けてテキストボックスのクリックを繰り返すと、順次次のセルを検
索します。
テキストボックス内の文字列を書き換えてクリックすると、新しい文
字列の検索に入ります。
テキストボックス内の文字列は、30字までです。
とりあえず、テキストボックスは1つだけという前提で、複数のテキ
ストボックスで交互に検索する場合は、このままでは使えません。
No.5
- 回答日時:
エラーになるとのことですが、テキストボックスのはじを右クリック-[マクロの登録]で、テキストボックス自体にマクロを登録されているでしょうか?もしかして、テキストボックスに文字列は入力されているけれども、コマンドボタンにマクロが登録されていることはないでしょうか?
もし、上記が該当しないのであれば、「オートシェイプのテキストボックス」とあるので、同じ「テキストボックス」だとは思うのですが、念のため。どのようにして作成した「テキストボックス」なのでしょうか?当方では、[図形描画]ツールバーの[テキストボックス]をクリックして作成しています。
それから、「テキストボックスにハイパーリンクの設定をする方法」とのことだったので、通常のハイパーリンクの運用と同様に、
(1)行き先は一箇所。
(2)異なる文字列が入力された複数のテキストボックスがある。
(3)ハイパーリンクがいちいちハイパーリンク先を変更することがないように、テキストボックスのテキストを変更することはない。
という前提で考えていました。
もし、一つのテキストボックスで対応、すなわちキーワードをしばしば変更するのであれば、テキストボックスを使用するのではなくて、「キーワード入力用のセル」+「コマンドボタン」の方が操作がだんぜん楽で良いんじゃないでしょうか?テキストボックスのクリックでマクロを実行するようになっていて、テキストボックスのテキストを変更するのは、右クリックして[テキストの変更]を選んでと面倒です。
質問がわかりづらくてすみません。テキストボックスの中にマクロは登録してます。テキストボックスも間違いなく同じものです。文章の一部にハイパーリンクの設定をしたかったので、、「キーワード入力用のセル」+「コマンドボタン」とはやりたことが違うかと思います。
せっかく教えていただいたのにうまくできず申し訳ありません。
No.3
- 回答日時:
> やってみましたが「指定したパラメーターに無効な値が含まれています」
こちらではエラーは発生しないのですが、
どの時点でエラーになりますか。
また、エラーメッセージが表示されるダイアログで[デバッグ]をクリックした場合、
モジュールのどの部分が反転していますか?
↓この部分でエラーが出ました。
NM = ActiveSheet.Shapes.Range(Application.Caller).Name
ちなみにこれは文字をクリックして実行されるマクロですか?
NMとsrchはすべて変えるのでしょうか?
No.2
- 回答日時:
ハイパーリンクにしてもマクロにしても、テキストボックス内の文字列を
変更するのに右クリックを使わなければならないので面倒ですね。
テキストボックスに、次のマクロを登録するのはいかがでしょうか。
Sub SearchByTxtbox()
Dim NM, srch, rng
NM = ActiveSheet.Shapes.Range(Application.Caller).Name
srch = Replace(ActiveSheet.Shapes(NM).TextFrame.Characters.Text, Chr(10), "")
If srch = "" Then Exit Sub
Select Case NM
Case Is <> srch
Set rng = ActiveSheet.Cells.Find(What:=srch, SearchDirection:=xlNext)
If rng Is Nothing Then
MsgBox "該当するセルがありません!"
Exit Sub
End If
Cells(rng.Row, rng.Column).Select
ActiveSheet.Shapes(NM).Name = srch
Case Else
Cells.FindNext(After:=ActiveCell).Activate
End Select
End Sub
NM:テキストボックスの名前、srch:テキストボックスに記述された検索文字列
マクロを登録したテキストボックスに記述された文字列をみて、
・空白の場合
何もしないでマクロを終了します。
・テキストボックス名と異なる場合
新たな検索文字列が指定された場合です。
文字列を検索してヒットしたら、テキストボックスの名前を、ボックス内に
記述された検索文字列と同じにします。
・テキストボックス名と同じ場合
テキストボックスに記述されている検索文字列で「次」を検索します。
ご回答ありがとうございます。やってみましたが、「指定したパラメーターに無効な値が含まれています」とエラーが出てしまいました。
どうすればいいでしょうか?
No.1
- 回答日時:
↓こんな感じでいかがでしょうか?
Sub テキスト1_Click()
Dim myStr As String
Dim myRng As Range
myStr = ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text
Set myRng = Cells.Find(myStr)
If myRng Is Nothing Then
MsgBox "「" & myStr & "」は入力されていません"
Else
myRng.Activate
End If
Set myRng = Nothing
End Sub
参考URL:http://www2.odn.ne.jp/excel/waza/macro.html
ご回答ありがとうございます。
「型が一致しません」というエラーが出ましたが、そのままマクロをペーストするだけではできないのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
テキストボックス内にハイパーリンクを張ることはできますか?
HTML・CSS
-
Excelテキストボックス内の文章リンクについて
Excel(エクセル)
-
ExcelのユーザーフォームのテキストボックスにURL
Excel(エクセル)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
Excel マクロ VBA プロシー...
-
一つのTeratermのマクロで複数...
-
エクセルで特定の列が0表示の場...
-
エクセルに張り付けた写真のフ...
-
メッセージボックスのOKボタ...
-
ExcelのVBA。public変数の値が...
-
Excel マクロでShearePoint先の...
-
wordを起動した際に特定のペー...
-
エクセルで別のセルにあるふり...
-
ダブルクリックで貼り付けた画...
-
VBAにて別ワークブック上の実行...
-
Excel VBAからAccessマクロを実...
-
ExcelのVBAを使ってタイトル行...
-
ファイルが見つからない時、ス...
-
エクセルのマクロでワードの任...
-
マクロ実行時、ユーザーフォー...
-
アクセス マクロ クリップボ...
-
エクセルの改ページを行ごとに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
Excel VBAからAccessマクロを実...
-
TERA TERMを隠す方法
-
Excel マクロでShearePoint先の...
-
ExcelVBAでPDFを閉じるソース
-
特定文字のある行の前に空白行...
-
マクロ実行時、ユーザーフォー...
-
wordを起動した際に特定のペー...
-
エクセルで別のセルにあるふり...
-
ソース内の行末に\\
-
マクロで空白セルを詰めて別シ...
-
【EXCEL VBA】オートシェイプを...
-
エクセルのマクロをセルの値に...
おすすめ情報