2015年2月7日土曜日

EXCEL+VBAで仕事を効率化〜選択したセルの値を別のセルへコピペ

 仕事でチマチマと地味な繰返し作業をしていると、ストレスでへこんでしまう。少しでも楽をしたいなぁと思い、自分だけの特製マクロを作り続けている。
batboy
batboy

 例えば、EXCELで1つのセルの値を別のEXCEL文書(あるいは別シート)のセルへコピペする作業では、6つの操作の単純な繰返しになる。
1)マウスをコピー元のセルへ移動する。
2)マウスを右クリックする
3)コピーを選ぶ。
4)マウスをコピー先のセルへ移動する。
5)マウスを右クリックする
6)貼付けを選ぶ。
 
 地味なデータ分析など、データを色んなシートから拝借するので、膨大なコピペ作業の繰返しになることが多い。
 
 そこで、一連の操作で、特に2回の右クリックが「イラっ」とするので、VBAでコピペ用ダイアログ(COPYボタンとPASTEボタン、値エリアの3つで構成される小さいウィンドウ)を出して、右クリックの代わりに、COPYボタン、PASTEボタンをクリックだけでできるようにしてみた。

 最初に、VBAによるコピペ用ダイアログは出しておく。そして、
1)マウスをコピー元のセルへ移動する。
2)COPYボタンをクリックする
3)マウスをコピー先のセルへ移動する。
4)PASTEボタンをクリックする
セルのコピペが必要なセル総数が数個であれば、効力を発揮しないけど、数十個を超えるときは、右クリックがない分、作業が簡単になり、右クリックによるストレスがなくなる。
Sub Copy_Paste()
  UserForm1.Show(vbModeless)
  UserForm1.TextBox1.Value = ActiveWindow.ActiveCell.Value
  ActiveCell.Select
  Selection.Copy
End Sub
Sub Paste_TextBox1()
  ActiveWindow.ActiveCell.Value = UserForm1.TextBox1.Value
End Sub
 CopyボタンとPasteボタンを持つ、Userform1という名前のフォームを作成し、Copyボタンには「Copy_Paste」というマクロを、Pasteボタンには「Paste_TextBox1」をそれぞれ割当る。こんな感じ。






 ここで一息のコーナー。
 以前、ぶらり旅で鳥取砂丘を見に行った。運悪く、「砂丘フェスティバル」にブチあたり、選べるホテルが限られていた。そんな運命の糸に操られてか、「しいたけ会館」という渋い名前のホテルに宿泊することになった。名前どおり、夕食は「しいたけのフルコース」。メインのしいたけステーキは、巨大なぞうり。見た目どおり、大味。ここに泊まらねば、巡り会えない味なので、貴重な体験ができた訳だ。
 前日の島根では、「マリンタラソ出雲」というホテルに宿泊。次回はぜひ、水着を持参して宿泊したい(そのときは、貸出しを利用)。温水プールに、ジャグジーもあり、水中トレーニングができる。食事も美味しかった。何よりも、段々と沈む夕日を眺めることができて、格別。隣にある道の駅の出雲うどんとパン屋さん(小さなカフェがあり、そこでたまたま、ハワイの海で溺れかけながらも奇跡的に生還した話が隣の席から漏れ聞こえてきた。びっくりしたけど、聞こえていないふり)もおすすめ。島根では「鬼太郎の妖怪ロード」を見てきた。

0 件のコメント:

コメントを投稿