泥にまみれろよ -素人アプリ開発者のBlog-

プログラミング歴1年のビギナーが、趣味のiOSアプリ開発について綴るブログです。VBAによる事務作業効率化、筋トレ、ファッション等の情報についても発信します。

エクセルで複数セルを選択したときに画面の右下に表示される合計値をコピーするマクロ【Excel VBA】

antique-appです!
本日は、私が愛用するExcelマクロをひとつ紹介させていただきます。
コードは短いですが、資料作りや経理業務に役に立つこと請け合いです!

できること

Excelの機能に、「オートカルク」と呼ばれる機能があります。
数値が含まれるセルを複数選択すると、画面の右下に合計値などの計算結果が表示される、あれです。

f:id:antique-app:20190207120516p:plain
これです
標準のExcelの機能では、この合計値をコピーして貼り付けするといったことはできません。
せっかくExcelがセルの値の合計値を出してくれているのに、それをコピーできないなんて、やきもきしますよね。
私もこのマクロを使う前は、紙に鉛筆でメモしたり、電卓に数字を打ち込んだりしていました。でも、それだと、時間がかかるしミスも生じてしまいます。
しかし、このマクロを使うことにより、セルの値の合計値をクリップボードにコピーし、ほかのセルやシートに貼り付けられるようになります!

作り方

まずは、マクロの編集画面を開きましょう!
そして、以下のコードを標準モジュールに貼り付けます。

Sub オートカルクのコピー() 
    
   Dim a, b As Range 
   Dim i As Currency 
 
   Set a = Selection.SpecialCells(xlCellTypeVisible) 
 
   For Each b In a 
       i = i + b.Value 
   Next b 
 
   'クリップボードに合計値をセットしている 
   With CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") 
        .SetText i 
        .putinclipboard 
   End With 
    
   MsgBox i & "をコピーしました。" 
  
 End Sub 

そして、マクロのショートカットを登録します。
なんのキーでもよいのですが、ここではわかりやすくCtrl+Shift+Cにしておきましょう。
※割り当てるキーの設定について、デフォルトはCtrl+□ですが、Cを入力すると、勝手にCtrl+Shift+Cに変わります。

f:id:antique-app:20190207120358p:plain
ショートカットキーの割り当て
以上で完成です!
簡単でしょう?

使い方

数値が含まれるセルを複数選択し、Ctrl+Shift+Cを同時押しします!
コピーした数字がメッセージとして表示されるので、オートカルクの合計値と一致していることを確認しましょう!

f:id:antique-app:20190207120425p:plain
できました
あとは、好きなところに貼り付けするだけです!
注意点として、選択範囲に数値以外の値が含まれているとエラーになりますのでお気をつけください。
また、Windows以外のOSでは正常に動作しません。
(私の実行環境はWindows10、Excel2016でした)

なお、作成に当たっては以下のサイト様を参考にさせていただきました。
tosk.hatenablog.com
 
本日は以上です。
みなさまの業務効率化の一助となれれば幸いです。