トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! > 揺るぎない力編: 第20話「ユーザーフレンドリーとは」4/4 :VBAって、本当におもしろい!!

やってみよう!Excel VBAで業務改善! 新たなる挑戦編|第20話 「ユーザーフレンドリーとは」

VBAって、本当におもしろい!!

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub ListBox1_Click()
    DoEvents
    Sleep 500
    ActiveCell.Value = ListBox1.Value
    Unload Me
End Sub

※最初のステートメントは、フォームモジュールの宣言セクションに記述してください。

「ちょっと難しいけど、Sleep関数を使うと、コードの進行をミリ秒単位で中断することができるんだ。
このSleep関数はWindows APIが提供している関数の1つなんだけど…。
難しいことはいいから、宣言セクションに
"Private Declare Sub Sleep ~"
と宣言を記述すれば、Sleep関数が使えるようになる。
引数に、中断する時間をミリ秒単位で記述すると、その間コードの実行が中断される。
ここでは"500"ミリ秒だから…0.5秒、中断されるよ」
星くんは先ほど同様に、ユーザーフォームを操作しました。

「あ…!ホントだ。
さっきは一瞬で消えてたけど、今度はほんの少し、表示時間が長くなってる…。
これってミリ秒の"500"は、自由に変更できるんだよね?」
「もちろん。
…ユーザーが望む長さに設定してもいいし、スクロールバーコントロールなんかで、
自由に調整できるようにしてもおもしろいね」
星くんの顔が、パッと輝きます。

「VBAって、本当におもしろいな!八木!!」 「ははは、何をいまさら…。
でもこういったところまで、気を配ったシステムこそ、ユーザーフレンドリーなシステムなんだ。
市販のソフトウェアでは、かゆいところに手が届かなくても、VBAならトコトン作りこみできる。
だから、みんなVBAが好きなんだよ」
星くんは八木くんの話を聞きながら、忘れかけていた熱いものが、
胸の奥にこみあげてくるのを感じていました。

第21話「オーグチさんのアイデア」に続きます
文・イラスト / 武藤 玄
ご意見やご感想の投稿はこちら

一覧にもどる