Excel VBA

【Excel VBA】【マクロ】【Tips】コピーしたセルを、縦横入れ替えて値貼り付けしたい

こんにちは!Lenocoです。本日も見てくださりありがとうございます。

今回は貼り付けについてのTips回です!!!

コピーしたセルを、縦横入れ替えて値貼り付けしたい

あまりない状況かもしれませんが、
コピーしたセルを、縦横入れ替え、さらに値貼り付けしたいことってありませんか?
以前会社勤めをしていたときに、仕様書から縦に並んだ文言をコピー、
ツールに貼り付けるために一度横向きに変えて値貼り付けをしたいということがありました。

そしてそれを効率的に行う為、ショートカットキーに設定してマクロを呼び出していました。

まずはコードを紹介します。とってもシンプルです。

コード

Sub TransposePasteValues()
    If Application.CutCopyMode Then
   Selection.PasteSpecial Paste:=xlPasteValues, Transpose:=True
    End If
End Sub

コードの説明

最初のIf文でCopyモードがオンかどうかを判定しています。
何もコピーされていない状態でIf文内の処理をするとエラーが返ってきてしまうため、ここで制御しています。
Copyモードがオンの時に、If文の中に入ります。
選択セルにコピーされたセルを縦横入れ替え、値貼り付けをします。
※なんとなくお分かりかと思いますが、「Paste:=xlPasteValues」の部分は値貼り付け、
「Transpose:=True」の部分は縦横入れ替えを指定しています。不要な部分などあれば必要に応じて削除して使用してください。

さいごに

ただ、マクロを作成しただけでは
「開発」タブ→「マクロ」から毎回いちいち選択しないといけないの・・?
ボタンに登録したとしても、毎回同じExcelブックの中でしか使えなければ不便。。
Excelを開いていたらどこでもこの機能を使いたい・・!
そんなときは、このマクロをアドインにしてショートカットキーを設定しましょう。
私はこの縦横入れ替え値貼り付け機能を、Ctrl+Eのショートカットキーに設定しているので、
Ctrl+Cでコピーし、Ctrl+Eで縦横入れ替え値貼り付けをしています。
その作業が一瞬でできるようになったことで、作業効率はかなりあがりました!

次回は、マクロをアドインにしてショートカットキーで呼び出す方法をご紹介します。

Lenoco

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です