Excel VBA コピー作業を普通のコピーに近付けるマクロ 個人用マクロブックに組み込んで使おう

Excel カスタマイズ

スポンサーリンク

Excelのコピーはちょっと不便

Excelで、セルを<Ctrl+C>とかで単にコピーすると、メモ帳などに貼付けするとき強制的に改行込みで貼付けられる。

そんで、コピーしたデータは、ちょっと何か他の操作をしただけで消えてしまう(これについては、Excel2016からは解消されてるけど)。

例えばブラウザの中の文字列をコピーしたときなんかはそんなことにならない(改行が含まれたコピーにならない、コピーしたデータは次のコピーまで消えたりしない)んだから、もっとこう、Excelのセルのデータのコピーでも同様にできないかというのを、多くの人が思っているだろう。

こんな簡単に見えることなのだが、Excelの標準機能ではちと達成できない。

マクロのソースコード・解説

そこで私は、次のようなマクロを、Excelの個人用マクロブックに追加して使っている。

1つ注意として、このマクロを実行する前には、参照設定で「Microsoft Forms 2.0 Object Library」というものを有効にしておかないといけない。
それについては、個人用マクロブックの初期設定の記事で述べている。

Excel 個人用マクロブック マクロ追加可能状態にする

で、あまり専門的な話にはならないようにするが、このマクロでは「Sub put_Clipboard」というのを別プロセスにしている。

これに「var」という変数を渡して、それをクリップボード(コピーしたデータが納められる場所)に納めるというもの。

Sub copyOnlyValue」でアクティブセルの値を渡して、それをクリップボードに納めているということ。
まあ短いし、何となくやらんとすることは分かっていただけると思う。

そしてこれは、本当によく使うコマンドのはずなので、ショートカットキーで使えるようにすべき。
コピー<Ctrl+C>のコマンドに一番近い<Ctrl+Shift+C>で良いかと思う。

ショートカットキーの設定方法は、こちら

Excel 個人用マクロブックPersonal.xlsbのマクロにショートカットキーを割り振る

個人用マクロブックとかについては、ここを展開。

オリジナルのマクロをリボンに追加する方法はこちら

個人用マクロブックについては、こちらこちらで述べています。

 

スポンサーリンク