Excel(エクセル)のVBAで仕事中にできる暇つぶしプログラムを作成!

Excel(エクセル)のVBAで仕事中にできる暇つぶしプログラムを作成! Excel(エクセル)

業務中に調べることの多い、Excel,Word,PowerPointなどのノウハウを発信していきます!

Biz Magic編集部をフォローする

Excel(エクセル)VBAとは

皆さんExcelのVBAとはなにかをご存じでしょうか?

VBAは、Excelのワークブックやワークシート内のデータやオブジェクトに対してアクセスし、操作することができます。VBAを使用することで、ユーザーはExcelのさまざまな機能をカスタマイズしたり、繰り返し作業を自動化したり、独自の機能を追加したりすることができます。

VBAは、Excelのメニューバーやボタンに割り当てられたマクロを作成するためにも使用されます。マクロは、一連の操作や処理を記録して再生するためのスクリプトです。VBAを使用することで、マクロの記録だけでなく、より高度なプログラミング機能や条件分岐、ループなどの制御構造を使用したプログラムの作成も可能です。

VBAは、Excelだけでなく、他のMicrosoft Officeアプリケーション(Word、PowerPoint、Accessなど)でも使用することができます。また、VBAはExcel以外のアプリケーションとの連携や、外部のデータソースとのデータの取得や更新など、さまざまなタスクを実行するためにも利用されます。

VBAは、プログラミングの基礎知識があれば比較的簡単に学ぶことができます。VBAの学習には、VBAの構文やオブジェクトモデルの理解、関数やサブルーチンの作成、エラーハンドリングなどが含まれます。ExcelのVBAエディタを使用して、コードを入力、編集、実行することができます。

今回の記事ではExcelのVBAを使用して作成できる面白いプログラムをご紹介していきます。

Excel(エクセル)仕事中の暇つぶしVBAプログラム

では、早速ですがExcelのVBAで仕事中にできる暇つぶしプログラムを作成していきます。

まず、VBAを使用するためには「開発」タブの「Visual Basic」を選択します。

これでVBAを入力する画面を開くことができます。

開発タブがない方はExcelのオプションで開発にチェックをいれてください。

これで開発タブを使用できるようになります。

VBAのエディタに以下のコードを入力します。

Sub TypingGame()
    Dim startTime As Double
    Dim endTime As Double
    Dim userInput As String
    Dim targetText As String
    Dim score As Integer
    
    ' ランダムなテキストを生成します
    targetText = GenerateRandomText(10) ' 10文字のランダムなテキストを生成
    
    ' タイピングゲームの説明を表示します
    MsgBox "タイピングゲームを開始します。指定されたテキストをできるだけ早く入力してください。" & vbCrLf & "準備ができたらEnterキーを押して開始してください。"
    
    ' Enterキーが押されたら計測を開始します
    If MsgBox("計測を開始します。Enterキーを押してください。", vbOKCancel) = vbCancel Then Exit Sub
    startTime = Timer
    
    ' ターゲットテキストの入力を受け付けます
    userInput = InputBox("次のテキストを入力してください:" & vbCrLf & targetText)
    
    ' 計測を終了します
    endTime = Timer
    MsgBox "結果:" & vbCrLf & "入力時間:" & Format(endTime - startTime, "0.00") & "秒" & vbCrLf & "入力テキスト:" & userInput
    
    ' スコアを計算します
    score = Len(targetText) / (endTime - startTime)
    MsgBox "スコア:" & score
End Sub

Function GenerateRandomText(ByVal length As Integer) As String
    Dim randomText As String
    Dim i As Integer
    For i = 1 To length
        randomText = randomText & Chr(Int((90 - 65 + 1) * Rnd + 65)) ' ランダムな英大文字を生成
    Next i
    GenerateRandomText = randomText
End Function

これでプログラムの作成まで完了しました。

あとはこのプログラムを実行するボタンを作成していきます。

ボタンを作成するには「開発」タブの「挿入」から「ボタン」を選択します。

ボタンを選択し、先ほど作成したプログラムを選択しOKをクリックするとゲーム開始のためのボタンが作成できます。

実際にゲームの動作確認を行ってみてください。

Excelの操作方法は実際に手を動かし、身につけていきましょう

今の時代、様々な仕事でExcelを使用することがあるでしょう。今回はExcelのVBAで作成できる仕事中の暇つぶしプログラムについてご紹介しました。このような機能を使いこなすことができれば仕事にも役に立つので、実際に手を動かし、覚えていきましょう。

WordやExcelなどのOfficeツールでは便利なショートカットキーなどがたくさんあるのでよく使う作業に関してはショートカットキーを調べてみるのも効率よく仕事を進める上で大切なことなのでこれから実践してみましょう。

コメント

タイトルとURLをコピーしました