may the VBA be with you

Excel VBAとか業務自動化とか

微妙なVBAサンプルシリーズ1 動くグラフ

はじめに

今回はタイマーを使ったものにしよう、と作り始めたところ、

まあ! 一体どこで使うというのかしら!

といったものができあがりましたので、適当に紹介だけします。

シート

f:id:vba-belle-equipe:20160330124144p:plain

  • 何を表しているかわからない表
  • 何を表しているかわからないグラフ
  • 何が開始されるかわからないボタン

をご用意ください。*1

コード

ご用意できましたら、標準モジュールに

  1. 表の値をランダムに変える
  2. 1 を1秒ごとに10秒まで繰り返す

マクロを作っていきましょう。

Sub startAnimation()
  Dim t As Double
  Dim s As Double
  Dim cnt As Long
  t = Timer()
  Do
    s = Timer() - t
    If s > 1 Then
      cnt = cnt + 1
      t = Timer()
      Call inputRandam
    End If
    If cnt >= 10 Then Exit Do
    DoEvents
  Loop
End Sub

Sub inputRandam()
  Dim i As Long
  For i = 2 To 5
    Cells(i, 2) = Int(Rnd * 10)
  Next
End Sub

こんな感じです。

できあがり

できあがったものがこちらになります。

f:id:vba-belle-equipe:20160330131435g:plain

みなさんも、ここぞという場面でぜひ、ご活用ください。

*1:画面はExcel2002のものです