教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA プログラミング】(関数21)Timer関数のプログラミング例を教えて!

f:id:m_kbou:20201001100346p:plain

Timer関数を使用したプログラミング例を紹介します。

 

 

例題

例題は、<実行>ボタンをクリックすると、コピー元(C列)に登録されているデータをコピー先(A列)に貼り付けし、コピーに掛かった時間を表示するプログラミング方法です。(※C列には10万件のデータが登録されています。)

[実行前]:

①C列に1~100000の数字が入力されています。

f:id:m_kbou:20201001100402p:plain

[実行後]:

②上記数字をA列にコピー&貼り付けし、掛かった時間がMsgBoxで表示します。今回は「3秒」と表示されました。

f:id:m_kbou:20201001100414p:plain

 

プログラミング

プログラミングは以下の通りとなります。

[記述例]:

Sub サンプル()

  Dim 行 As Long
  Dim 開始時間 As Long
  Dim 終了時間 As Long

  Range("A2:A100000").ClearContents

  開始時間 = Timer

  For 行 = 2 To 100001
    Cells(行, "A") = Cells(行, "C")
  Next
  終了時間 = Timer
  MsgBox (終了時間 - 開始時間) & "秒"

End Sub

内容を説明すると、

Timer関数を使用してコピー元(C列)のデータをコピー先(A列)に貼り付けし、そのコピーに掛かった時間をMsgBoxで表示して下さい。

との意味になります。

f:id:m_kbou:20210214084328p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。また、ボタンにプログラムを割り当てるにはこちらを参考にして下さい。

 

ダウンロード

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com