皆さんはエクセルのマクロで作業を自動化した経験はあるでしょうか。
今まで苦労して作業していたものが、たった数行で自動化できると仕事が一気に楽になります。
数が少なければ一つ一つ処理していけば良いですが、長時間にわたる単純作業は非常に非効率です。
少しでもマクロを使ったりVBAを勉強する時間に当てて、いろいろ試してみて見ると長期的にみればお得かなと思います。
そこで、本記事ではエクセルマクロ、VBA初心者向けにいくつかサンプル例を紹介します。
If文を使った例文
メッセージボックスを活用して瞬時に情報を得る
条件を満たしたらメッセージボックスを表示
Dim sample as String
If Len(Cells(1,1))=0 Then
Msgbox “データがありません”
End if
★Andと組み合わせる
If Len(Cells(1,1))= 0 And Len(Cells,(2,1)) = 0 Then
Msgbox “データがありません”
End if
★Orと組み合わせる
If Len(Cells(1,1))= Empty Or Len(Cells,(2,1)) = Empty Then
Msgbox “データがあります”
End if
ifで使える記号
<>・・・等しくない
=・・・等しい
And・・・かつ
Or・・・または
Empty・・・未設定のデータ
Null・・・空のデータ
【使える関数】
Len()・・・文字列の長さを取得
For文を使った例文
たった数行で効果は無限大
For i = 1 To 10
Cells(i,1).Value = Empty
Next
★間隔を指定する時はStepを使う
For i = 1 to 10 Step 2
★途中で中断したい場合
For i = 2 To 10
If Cells(i,1) = Null Then
Stop
End If
Next
Forで使える記号
Empty・・・未設定のデータ
Null・・・空のデータ
Go to 文を使った例文
For,Ifのお供に使える
For i = 1 To 10 Then
If sample =is Nothing Then
Goto Line1
End if
Cells(i,1).Value = Empty
Line1:
Next★データがない時を条件とする時
○○= is Nothing
名前の定義を使って楽々参照
コードがシンプルになる
Dim sample as String
sample=Range(“セルの名前”).value
★セルの座標を取得する
x=range(“セルの名前”).column
y=range(“セルの名前”).Row
時間短縮
画面のちらつきを防止する
待ち時間を短縮する
画面の更新を止める
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
画面の更新を再開する
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With