マクロの作成
リボンの[開発]タブ~コードグループの[マクロの記録]をクリックします。
開発タブが表示されていない場合は、「
Excelの開発タブを表示する方法」を参照し表示させてください。
マクロのダイアログボックスが開きます。
マクロ名を入力し[OK]ボタンをクリックします。
今回は「1日から7日」か「月から日」までを、マクロで自動的に入力できるようにします。
1.B3セルに移動し、「1日」を入力し、B9セルまでオートフィルします。
2.C3セルに移動し、「月」を入力し、C9セルまでオートフィルします。
3.[記録終了]をクリックします。
これでマクロが作成できたので、IF ELSE文を追加します。
マクロにIF ELSEを追加する
リボンの[マクロ]をクリックし、マクロ ダイアログボックスを開きます。
1.上で作成したマクロを選択します。
2.[編集]ボタンをクリックします。
VBE画面が開き、マクロのVBAコードが表示されます。
Sub 日付か曜日()
'
' 日付か曜日 Macro
'
'
Range("B3").Select
ActiveCell.FormulaR1C1 = "1日"
ActiveCell.Characters(2, 1).PhoneticCharacters = "ヒ"
Selection.AutoFill Destination:=Range("B3:B9"), Type:=xlFillDefault
Range("B3:B9").Select
Range("C3").Select
ActiveCell.FormulaR1C1 = "月"
ActiveCell.Characters(1, 1).PhoneticCharacters = "ゲツ"
Selection.AutoFill Destination:=Range("C3:C9"), Type:=xlFillDefault
Range("C3:C9").Select
Range("C10").Select
End Sub
下のように、IF ELSE文を追加します。
IFからELSEまでが、「1日から7日」を入力する部分で、ELSEからEND IFまでが「月から日」までを入力する部分です。
Sub 日付か曜日()
'
' 日付か曜日 Macro
'
'
If Range("A1") = "" Then
Range("B3").Select
ActiveCell.FormulaR1C1 = "1日"
ActiveCell.Characters(2, 1).PhoneticCharacters = "ヒ"
Selection.AutoFill Destination:=Range("B3:B9"), Type:=xlFillDefault
Range("B3:B9").Select
Else
Range("C3").Select
ActiveCell.FormulaR1C1 = "月"
ActiveCell.Characters(1, 1).PhoneticCharacters = "ゲツ"
Selection.AutoFill Destination:=Range("C3:C9"), Type:=xlFillDefault
Range("C3:C9").Select
Range("C10").Select
End If
End Sub
IF ELSE文を追加したマクロを実行する
A1セルに何も入力されていない場合、「1日から7日」が表示されました。
A1セルに何か入力した場合、「月から日」が表示されました。
このように、マクロとIF文を組み合わせると、複雑な処理が簡単にできるようになります。
例えば、偶数日はシート1を印刷、奇数日はシート2を印刷などが自動的にできるようになります。