VBAで効率化!コピペでできる便利な追加機能4選!

VBAの組み方

メールの自動送信や転記など、VBAはPC業務の効率化に効果的なツールです。ChatGPTの登場により、誰でも簡単にVBAが使えるようになりました。

そこで今回は共通して使える、足すだけで便利になるコードを紹介していきます。初心者でも、コピペだけで作業効率を向上させることができます。

ぜひ、参考にしてみてください!

※ VBAの書き方などの基礎知識はこちら

実行確認のダイアログボックス

VBAを誤って実行するのを防止するのに便利なのが、実行確認のダイアログボックスです。

このダイアログボックスを設置すると、確認画面が表示されるようになります。yesを選ぶとVBAが実行され、noを選ぶとVBAがキャンセルされます。

動作確認のダイアログボックス

これを設置するには、以下のコードを元あるVBAに追加します。

Sub ○○()

'----ダイアログボックス----
Dim answer As Integer
answer = MsgBox("実行しますか?", vbYesNo, "確認")
If answer = vbNo Then
    Exit Sub
End If
'----ここから下にコードを書く----

End Sub

ここでは、MsgBoxという関数を使って、ダイアログボックスを表示しています。

このように、数行のコードで確認メッセージを表示させることができます。ぜひ、試してみてください

※ダイアログボックス等、用語についてはこちらを参考にしてください

初期化ボタン

作っておくとちょっと便利なのが「初期化ボタン」です。

選択して削除しないといけなかったり、初期化にも手間がかかります。ボタンを作ると手間が省けるだけでなく、古いデータが残ることで誤作動を起こすのを防止することにもつながります。

初期化ボタン

そんな初期化のコードは次のように書きます。

Sub ClearContents()
    '例:シート1のA1からC10までのセルを空白にする
    '実際に使うときは、シート名と空白にしたいところを変更する。
  Sheets("Sheet1").Range("A1:C10").ClearContents
End Sub

ちなみに上のコードは、表の罫線や書式も含めて削除するときのコードになります。

罫線や書式を残し、セルの中身だけを消す場合はこちらのコードを使ってください。

Sub ClearContents()
    '例:シート1のA1からC10までのセルを空白にする
    '実際に使うときは、シート名と空白にしたいところを変更する。
    Sheets("Sheet1").Range("A1:C10").Value = ""
End Sub

このコードを、次の手順でボタンを追加し割り当てを行っていきます。

①「開発」タブ → コントロールの「挿入」 → 左上のボタンを選択

②マウスカーソルが「+」に変わったら、ボタンを作りたいところにドラッグして選択
③「マクロの登録」が表示されるので、初期化のマクロを選択して「OK」

これでボタンは完成します。

※ボタンの名前を変更する

①ボタンを右クリック → そのまま左クリックを押してボタンを選択状態にする
②文字が選択できるようになっているので変更する
③ボタンの選択状態でボタンの大きさ、場所を変更することもできる
④ボタンとは別のところをクリックして選択を解除して完了

貼り付けボタン

初期化ボタンに次いで便利なのが「貼り付けボタン」です。

コピーは手動で行い、vbaのシートでは貼り付けボタンを押すだけにしておくことで、手間が省け貼り付け間違いを防止することができます。

貼り付けのコードは次のように書きます。

Sub PasteValue()
    '例:シート1のA2からコピーしたものを貼り付けする
    '実際に使うときは、シート名と空白にしたいところを変更する。
    'セル全て選択してコピーしたものを張り付けるときは、A1から張り付ける
    Sheets("Sheet1").Range("A2").Select
    ActiveSheet.Paste
End Sub

この後、初期化と同じ手順でボタンを作ることで、貼り付けボタンが作成できます。

ScreenUpdating

VBA実行中の画面の更新を止める設定がScreenUpdatingです。

これはコードを追加するだけで、処理のスピードを上げることができます。

Application.ScreenUpdating = False '最初に追加

'ここにVBAの処理を書く

Application.ScreenUpdating = True '最後に追加

Falseで画面更新をストップし、Trueで元に戻すコードになっています。このコードをはじめと終わりに足すだけで、実行速度を改善することができます。

最後に

以上が、VBAで足すだけでできる便利な機能4選でした。これらの機能は簡単に実装できるので、ぜひ試してみてください。

VBAを使えば、デスクワークの時間や手間を大幅に削減できます。VBAで仕事をスマートにこなして、自分の時間を有効活用しましょう!

※VBAやPythonをスキマ時間でサブスク感覚で学びたい人におすすめ!

コメント

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