|
こんにちは
初心者ですが、Excelの一般操作で行なえることは全てマクロで可能。と信じて
(入門書にも書いていました)初心者ながら試行錯誤しながら勉強してきましたが、
「これはマクロでは無理かな?」と思えることに出会ってしまいました。
処理そのものは簡単なのですが、諦める前にと思い質問させていただきます。
【やりたいこと】
例えば、B5セルに下記の文章が入っているとして
フリードリヒII世は、フランスの英雄ナポレオンや第三帝国総統ヒトラーに信奉されていた。
B5をアクティブにして数式バーに文章を表示させ
その数式バーに表示された「フリードリヒII世」とか「ナポレオン」を 『カーソルで範囲指定』してコピー、別のシートに指定部分だけを貼り付けしたい。
【マクロ記録】
「ナポレオン」を範囲指定しして、コピペした場合
Sub Macro4()
ActiveCell.FormulaR1C1 = "フリードリヒII世は、フランスの英雄ナポレオン や第三帝国総統ヒトラーに信奉されていた。"
Sheets("要調査").Select
Range("B4").Select
ActiveSheet.Paste
End Sub
上記の結果が得られたのですが、
カーソルで範囲指定した「ナポレオン」に関する情報は何も記載されませんでした。
試しに、上記で得られたマクロを稼動させたら、「要調査」シートのB4に「ナポレオン」と得られました。
(※本題ではないんですが、どうして上記コードで「ナポレオン」の情報が得られたのか疑問です)
他の部分を範囲指定しても、得られるコードは上記と同じものでした。
【あきらめへの引き金】
数式バーの「ナポレン」の部分を範囲指定して、上記のコードを実行させようとしたら、ツールバーのマクロの表示が灰色表示になっており、そもそもカーソルでの範囲指定状態ではマクロの実行が出来ないのが分りました。
上記結果から、一般操作で出来ても、マクロで出来ない場合があるんだ。との私なりの結論になりつつあるんですが、どうなんでしょうか(質問の本質と離れちゃったかな?・・・)
現在は、Wクリックイベントで抽出する単語を含む文章全体を別シートにコピペし、単語の前後の不要箇所を手作業で消しています。
他の方法でもいいんですが、手作業を省く何か良い方法があったら教えて頂きたく投稿させていただきました。
宜しくお願いします。
|
|