個人用マクロブックが表示されていないという方がいたら、マクロの記録時にマクロの保存先を「個人用マクロ ブック」として、マクロを一度記録してみてください。
そうすると表示されるようになります。
個人用マクロブックが表示されていないという方がいたら、マクロの記録時にマクロの保存先を「個人用マクロ ブック」として、マクロを一度記録してみてください。
そうすると表示されるようになります。
前回までで基本の構文は習得できたと思うので、
今回は複数のシート・ブックを扱えるよう知識を広げていきましょう。
ワークシートやワークブックを指定する時には、いくつか方法があります。
① ワークシート
ActiveSheet
Worksheets (番号)
Worksheets("名前")
※たいていの場合「Worksheets」は「Sheets」としても大丈夫です。
② ワークブック
ThisWorkbook
ActiveWorkbook
Workbooks ("ブック名")
Workbooks.open "パス"
Worksheets(2).Range("A1") = "Sheet2"
3シート目を開いている状態でマクロを起動しましたが、2シート目を開くとちゃんと指定した通り文字入力されています。
Worksheets("シート名")
選択状態の(アクティブ)ブックのシート名で指定できます。 該当のシートが無いと、エラーになります。
Worksheets("Sheet3").Range("A1") = "Sheet3"
こちらもシート番号の時と同様、違うシートを開いてマクロを起動しましたが、3シート目に指定した通り文字入力されています。
(その他) 無効の値
::::::::::::::::::::::::::::::::::::::
回答例
Sub テスト評価①()
Dim 行 As Integer
Dim 上端 As Integer
Dim 下端 As Integer
上端 = 2
下端 = 7
For 行 = 上端 To 下端
If 0 <= Cells(行, 2) And Cells(行, 2) <= 59 Then
Cells(行, 3) = "不可"
ElseIf 60 <= Cells(行, 2) And Cells(行, 2) <= 69 Then
Cells(行, 3) = "可"
ElseIf 70 <= Cells(行, 2) And Cells(行, 2) <= 79 Then
Cells(行, 3) = "良"
ElseIf 80 <= Cells(行, 2) And Cells(行, 2) <= 89 Then
Cells(行, 3) = "優"
ElseIf 90 <= Cells(行, 2) And Cells(行, 2) <= 100 Then
Cells(行, 3) = "秀"
Else
Cells(行, 3) = "無効の値"
End If
Next 行
End Sub
Sub テスト評価②()
Dim 行 As Integer
Dim 上端 As Integer
Dim 下端 As Integer
上端 = 2
下端 = 7
For 行 = 上端 To 下端
Select Case Cells(行, 2)
Case 0 To 59
Cells(行, 3) = "不可"
Case 60 To 69
Cells(行, 3) = "可"
Case 70 To 79
Cells(行, 3) = "良"
Case 80 To 89
Cells(行, 3) = "優"
Case 90 To 100
Cells(行, 3) = "秀"
Case Else
Cells(行, 3) = "無効の値"
End Select
Next 行
End Sub
ご存じの方もいると思いますが、実は上記回答例には隙があります。