Excelのこととか色々

Excel のこととか楽天とか いろいろ書いてみます・・・

【Excel/VBAのこと27】コピーして値貼り付けを自動化(CountIf解除/軽量化)

   f:id:tuna-kichi:20200223230814p:plain

 

 

CountIf の結果だけ表示

 

前回、CountIf を VBA で記述して、結果だけ表示させるようにしました。

 

結果だけ表示させたいのは、CountIf 関数はシートが更新されるたびに

再計算され、動作が重くなってしまうからです。

(データ量の多いシート発生しやすいです)

 

しかし、CountIf 関数をシートに記述して、

関数を入力したセルをコピーして、そのまま値貼り付けすれば、

マクロで結果だけを表示させるのと同じ結果になります。

 

私は、その作業があまり好きではありません・・・

だって、何千行もある場合もあるので・・・

 

そこで、選択したセルをコピーして、値貼り付けの部分を自動化してみました。

 

マクロ

 

※個人用マクロブックの標準モジュールに記述してください


Sub
コピーして値貼り付け()
 Selection.Copy '選択セルをコピーします
 Selection.PasteSpecial Paste:=xlPasteValues '同じ場所に値貼り付けします
 Application.CutCopyMode = False 'コピーモードを解除します

End Sub

                   

リボンに登録します。

  コピーして値貼り付け

 

 

使用手順

 

サンプル

1.結果を表示させるセルを選択します(セル J4 ~ J13)

2.CountIf 関数を入力します
  =COUNTIF($H$4:$H$13,H4)
  ※この式を下にコピーするので範囲を固定します

3.2で閉じるカッコを入力したら 「Ctrl + Enter キー」 で、
  1で選択した範囲に同じ式がコピーされます
  ※H4 の箇所は固定していないので、H5, H6 ・・・と変わります

4.リボンに登録した「コピーして値貼り付け」マクロをクリック
  コピーして値貼り付け

完了です。

                   

たったひと手間省いただけです。

だけど、私にとってはコピーを含めて、ショートカットキーを押すことが多くて、

左の小指が疲れてきたので、楽になります。

 

**********************************************************

 

個人用マクロブックについてはこちら

www.tuna-kichi.com

 

リボンに登録についてはこちら

www.tuna-kichi.com

 

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/