「VBAって難しそう…」と諦める前に!事務作業が劇的にラクになる基本構文3つだけ徹底解説【コピペOK】

【業務効率化】VBA
スポンサーリンク

こんにちは!ぐーです。

いつもブログをご覧いただき、ありがとうございます!

突然ですが、この記事を読んでいるあなたは、こんな風に悩んでいませんか?

  • 「毎日同じExcelのコピペ作業ばかりで、時間が溶けていく…」
  • 「ITやプログラミングに興味あるけど、何から学べばいいか分からない」
  • 「VBAって難しそう。私なんかが覚えても、どうせ使いこなせない…」

分かります。私も最初はそうでした。大量のデータ入力や集計作業に追われ、「この作業、自動化できたらなぁ」とため息をつく毎日。

この記事は、そんな「VBAに興味はあるけど、難しそうで一歩踏み出せない」「Excel作業を効率化したいけど、何から学べばいいか分からない」という人向けの記事です。

VBAは、それほど難しくありません。特に事務作業で使う機能は限られています。

今回は、私が「これさえ覚えれば、事務作業の約70%は自動化できる」と思う、初心者が絶対にマスターすべき基本構文(命令の書き方)3つだけを厳選して、コピペOKなコード付きで解説します。

【業務効率化】VBAの記事を見る


📖 なぜこの3つが重要なのか?

VBAにはたくさんの命令がありますが、正直、全部覚える必要はありません。

Excel内の作業を自動化するだけなら、以下の3つを組み合わせるだけで基礎は十分です。

  1. Cells(セルズ):Excelの「どこに」操作するか指定する
  2. If(イフ):コンピュータに「もし~なら、~する」と判断させる
  3. For(フォー):面倒な「繰り返し」を命令する

これらを「車のパーツ」に例えるなら、Cellsが「場所(住所)」、Ifが「ハンドル(進む方向を決める)」、Forが「アクセル(自動で進む)」といったところでしょうか。

では、一つずつ見ていきましょう。

1. Cells (セルズ):Excelの「住所」を指定する

まずは、VBAに「どこのセルを操作してほしいか」を伝える方法です。

Cells(行番号, 列番号)

これだけです。例えば、A1セルなら「1行目の1列目」なので Cells(1, 1) と書きます。C5セルなら Cells(5, 3) ですね。(CはAから数えて3番目なので)

【コピペして試してみよう】

Excelを開き、「Alt」キーと「F11」キーを同時に押してVBAの編集画面(VBE)を開きます。

左側のプロジェクトエクスプローラーでシート名をダブルクリックし、右側の白い画面に以下をコピペしてください。

Sub Test_Cells()
    ' Cells(1, 1) は「A1セル」のこと
    ' .Value は「そのセルの値」という意味
    Cells(1, 1).Value = "こんにちは"
   
    ' Cells(5, 3) は「C5セル」のこと
    Cells(5, 3).Value = 100
End Sub

コピペしたら、VBEの画面で「F5」キーを押して実行!

Excelシートに戻ってみてください。A1セルに「こんにちは」、C5セルに「100」と入力されていれば成功です!

2. If (イフ):「もし~なら」の条件分岐

次に、ExcelのIF関数のように、条件によって処理を変える方法です。

If 条件 Then 処理 End If

「もし(If)〇〇という条件を満たしたら(Then)、〇〇という処理をしなさい(処理)。終わったら(End If)」という意味です。

【コピペして試してみよう】

さっきの Cells と組み合わせてみましょう。

「もしA1セルの値が『こんにちは』だったら、B1セルに『OK』と表示する」

Sub Test_If()
    ' もし A1セル(Cells(1, 1)) の値が "こんにちは" だったら
    If Cells(1, 1).Value = "こんにちは" Then
        ' B1セル(Cells(1, 2)) に "OK" と入力する
        Cells(1, 2).Value = "OK"
    End If
End Sub

A1セルに「こんにちは」と入力してから、F5キーで実行してみてください。B1セルに「OK」と出ましたか?

3. For (フォー):「繰り返し」命令

これがVBAの真骨頂です。面倒な繰り返し作業は、すべてFor文に任せましょう。

For 変数 = 開始 To 終了 処理 Next 変数

「変数(iという箱を使うことが多い)に、開始(1)から終了(10)まで順番に数字を入れながら、中の処理を繰り返してね(Next)」という意味です。

【コピペして試してみよう】

「A1セルからA10セルまで、順番に1から10までの数字を入力する」

10回コピペする作業も、Forを使えば一瞬です。

Sub Test_For()
    ' 変数 i を用意 (i は「箱」だと思ってください)
    Dim i As Long
   
    ' i に 1 から 10 まで順番に入れながら繰り返す
    For i = 1 To 10
        ' Cells(i, 1) は、i=1の時はA1、i=2の時はA2... と変化する
        Cells(i, 1).Value = i
    Next i
End Sub

F5キーで実行!一瞬でA1~A10に数字が入ったはずです。

🚀 3つを組み合わせのが自動化のコツ

お待たせしました。この3つを組み合わせると、仕事が劇的に変わります。

【応用例:コピペでOK】

「A列の1行目から10行目までを順番に見て(For)、もしそのセルの値が5以上だったら(If)、隣のB列のセル(Cells)に『合格』と入力する」

Sub Test_All()
    Dim i As Long
   
    ' 1行目から10行目まで繰り返す (For)
    For i = 1 To 10
       
        ' もし A列の i行目 の値が 5 以上だったら (If + Cells)
        If Cells(i, 1).Value >= 5 Then
           
            ' B列の i行目 に "合格" と入力する (Cells)
            Cells(i, 2).Value = "合格"
           
        End If
       
    Next i
End Sub

どうですか?さっき入力したA1~A10の数字(1~10)を使ってこれを実行すると、B5~B10セルに「合格」と入るはずです。

これを使いこなせるようになると、手作業で何時間もかかっていた作業であっても、自動で一瞬で終わります。

🏁 まとめ:まずは「動いた!」を体験しよう

最初から完璧に理解しようとしなくてOKです。

まずはこの記事のコードをコピペして、「F5キーを押したら、動いた!」という感動を体験してみてください。

この3つの構文(Cells, If, For)を覚えるだけで、

  • 何千〜何万もあるデータから、特定の条件(If)のものだけ探して
  • 一覧表(For)に自動で転記する(Cells)

といった、あなたが今「面倒だなぁ」と感じている作業の多くが自動化できます。

実務ではこれだけでは処理しきれない複雑な業務もありますよね。

それでもベースとなるのはこの3つですので、しっかり身につけていきましょう!

【業務効率化】VBAの記事を見る


VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を厳選して紹介します。 もう本選びで失敗したくない方は、ぜひ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でも、年間100万円以上の節約・資産管理・スキルアップで新NISAで年間360万円投資し、iDeCoもフル活用しています。日商簿記3級持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、稼ぐ力を高めるITスキルについて発信しています。

生活を豊かにしたくて、高配当株投資で年間配当金60万円をめざしています。現在は年間配当金25万円以上達成!

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【業務効率化】VBAITスキル
スポンサーリンク
ぐーをフォローする

コメント

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