よく使う小技集
●処理速度を上げ、高速化する。
'***処理速度の高速化を開始***
'描画の更新を停止
Application.ScreenUpdating = False
'計算方法を手動に切り替え
Application.Calculation = xlCalculationManual
'******
'ここに処理を記述
'***高速化の終了処理***
'計算方法を自動に切り替え
Application.ScreenUpdating = True
'描画の更新を再開
Application.Calculation = xlCalculationAutomatic
'******
<ざっくり解説>
計算処理中の“画面描画更新”と“自動計算”を停止することで、
処理を高速化することが出来ます。
“画面描画更新の停止”は例えば、
シートに100個のデータを入力する場合、
1個ずつの入力結果は描画せず、
100個の入力が終わったらまとめて結果を表示する形になります。
途中経過の描画を省略することで処理を高速化出来ます。
“自動計算の停止”は、
セルの値が更新された際の再計算を停止することで
処理を高速化することが出来ます。
注意点としては、
再計算を停止するので、
セルの値を更新した後の再計算結果を拾ってきたい場合は、
一度自動計算に切り替えて再計算する必要があります。
●現在の日付/時間の取得
'年月日をセルに表示する場合
Sheets("Sheet1").cells(1,1)=Format(Now,"yyyy/mm/dd")
'時刻をセルに表示する場合
Sheets("Sheet1").cells(1,1)=Format(Now,"hh時mm分ss秒")
<ざっくり解説>
Now関数で現在の日付と日時を取得することができます。
Format関数で書式を設定することで、表示形式を変更することが出来ます。
●何日前、何日後の取得(日時の加算)
'2024年1月1日の7日前をday0に格納する場合
Dim day0 as Date
day0 = DateAdd("d",-7,"2024/1/1")
DateAdd関数で、日時の加算をすることが出来ます。
指定方法は、
DateAdd(加算する単位,数値,基準の日付)となります。
加算する単位は、
“yyyy”(年)
“m”(月)
“d”(日)
“w”(週)
“h”(時)
“m”(分)
“s”(秒)
などがあります。
コメントを残す