こんにちは。
今回はVBAを使って計算を実行して出た値のみ利用したいときに値貼り付けを使わないで利用する方法をお伝えしたいと思います。
そもそも値貼り付けという行為自体はよくありますが、マクロを使って膨大な値を自動で計算したものを値貼り付けした場合、ひじょ~~~~~~に時間がかかってしまいます。
以前の現場に参画した際にある作業を手作業で30分かかる処理について一番時間がかかっていたものが値の貼り付けだったんですね。
せっかくなのでVBAで時間効率を上げて生産性を上げようということで実践しました。
結論からお伝えしますと、
①セル.Copy ②セル.PasteSpecial xlPasteValues↓
1.セル.Value = セル.Value
というコードに変更するだけでできます。
詳細に説明すると上のコードは
①セルをコピーします
②指定したセルへ値貼り付けを実行する
という動作になります。
一方で、下のコードは
セルの値を指定のセルに代入する
という動作になります。
上記2個のコードは異なるように見えますが、コピーして値貼り付け=代入として同じ動作をしてくれます。
セル.Value = セル.Value
を利用すると格段に高速化できますので、機会がありましたら是非使ってみてください
(もちろん範囲指定して同様の動作を命令することも可能です)
VBAについては複雑なことも多いので手が出にくい分野と思われがちですが触ってみると面白いのでぜひやってみましょう~
今回は以上です!また次回に~