Sub 密です()
'セルA1からK11まで「人」で埋めつくして密にする
Range("A1:K11") = "人"
End Sub
● ボタン「ソーシャルディスタンス」に登録するコード
Sub ソーシャルディスタンス()
' カウンタ変数iとjを宣言する
Dim i As Integer, j As Integer
' シートをクリアする
Cells.Clear
'セルA1を選択する
Range("A1").Select
'外側のループでiを0から10まで2ずつ増やす
For i = 0 To 10 Step 2
'内側のループでjを0から10まで2ずつ増やす
For j = 0 To 10 Step 2
'セルA1を基準として、下にi、右にj分移動したセルをアクティブにして「人」と言う字を入れる
ActiveCell.Offset(i, j).Value = "人"
'内側のループjを進める
Next j
' 外側のループiを進める
Next i
End Sub
'i= 0で固定して内側のループのみを動かす
Sub ソーシャルディスタンス()
' カウンタ変数iとjを宣言する
Dim i As Integer, j As Integer
' シートをクリアする
Cells.Clear
'セルA1を選択する
Range("A1").Select
'外側のループでiを0から10まで2ずつ増やす
'For i = 0 To 10 Step 2 ←コメントアウト
'内側のループでjを0から10まで2ずつ増やす
For j = 0 To 10 Step 2
'セルA1を基準として、下にi、右にj分移動したセルをアクティブにして「人」と言う字を入れる
ActiveCell.Offset(0, j).Value = "人" ' ← iを0にする
'内側のループjを進める
Next j
' 外側のループiを進める
'Next i ←コメントアウト
End Sub
Sub 二重ループで東京観光()
'ループのカウンタ変数iとjを宣言
Dim i As Integer, j As Integer
'シート「東京観光」をアクティブにする
Worksheets("東京観光").Activate
'表の右1つ開けてセルD1をアクティブにする
Range("D1").Activate
'外側のループのカウンタ変数iで「観光地」を表す
For i = 1 To 10 Step 3
'内側のループのカウンタ変数jで「やること」を表す
For j = 1 To 3
'アクティブセルに「観光地」と「やること」を出力する
ActiveCell.Value = Cells(i + 1, 1).Value & Cells(j + 1, 2).Value
'セルを1つ下に移動する
ActiveCell.Offset(1, 0).Select
'内側ループを進める
Next j
'内側ループを抜けて外側ループに入る
'もしもi<10場合は、次の観光地に移る前に1行空ける
If i < 10 Then
ActiveCell.Offset(1, 0).Select
End If
'外側ループを進める
Next i
End Sub
Sub 配列1()
'文字列型の配列「サザエ一家(6)」と、添え字の変数i(数値型)を定義
Dim サザエ一家(6) As String, i As Integer
'ループでiを0から6まで配列の長さ分指定する
For i = 0 To 6
'ExcelのセルB3の磯野波平から順番に配列「サザエ一家」に格納する
サザエ一家(i) = Worksheets("国民的アニメ").Cells(3 + i, 2).Value
'デバックプリントに配列「サザエ一家」を出力する
Debug.Print サザエ一家(i)
'配列の添え字iを進める
Next i
End Sub
Sub 配列3()
'文字列型の配列「サザエ一家」、ループの添え字数値型「i」、Long型の「上端」、Long型の「下端」、Long型の「配列の要素数」、Long型の「このExcelの全ての行数」を宣言
Dim サザエ一家() As String, i As Long, 上端 As Long, _
下端 As Long, 配列の要素数 As Long, このExcelの全ての行数 As Long
'ワークシート「国民的アニメ」をアクティブにする
Worksheets("国民的アニメ").Activate
'このExcelの全ての行数をActiveSheet.Rows.Countを使って求める
このExcelの全ての行数 = ActiveSheet.Rows.Count
'「上端」をセルB1、1行目2列目から下に向かって求める
上端 = Cells(1, 2).End(xlDown).Row
'「下端」を行が「このExcelの全ての行数」で、列がB列(2列目)から上に上がって求める
下端 = Cells(このExcelの全ての行数, 2).End(xlUp).Row
'「配列の要素数」の[7]を下端(10)-上端(2)-1から求める
配列の要素数 = 下端 - 上端 - 1
'ReDimを使って、新たに配列を出力
ReDim サザエ一家(配列の要素数)
'Forループで配列の最初(LBound)から配列の最後(UBound)までを添え字iに代入
For i = LBound(サザエ一家) To UBound(サザエ一家)
'配列「サザエ一家」に、Excelのシート「国民的アニメ」のセルB3からB7までを格納
サザエ一家(i) = Worksheets("国民的アニメ").Cells(上端 + i + 1, 2).Value
'デバックプリントを使って、イミディエイトウィンドウに配列サザエ一家[i]を出力
Debug.Print サザエ一家(i)
'ループを進める
Next i
End Sub
Sub ループその1_While前判断()
' セルD3をアクティブにする
Cells(3, 4).Select
'セルの値が4以下かどうか判断する
Do While ActiveCell.Value <= 4
'セルを黄いペンキで塗りつぶす
ActiveCell.Interior.Color = vbYellow
'セルを右に移動する
ActiveCell.Offset(0, 1).Select
'繰り返し
Loop
End Sub
Sub ループその2_While後判断()
' セルD6をアクティブにする
Cells(6, 4).Select
'取り敢えずやっちゃえ!!
Do
' セルを黄色に塗りつぶす
ActiveCell.Interior.Color = vbYellow
'セルを右に移動する
ActiveCell.Offset(0, 1).Select
'4 以下であれば繰り返し
Loop While ActiveCell.Value <= 4
End Sub
ここからUntilに入ります。 ルールとして、5になるまで繰り返します。
● 3つ目「Do Until Loop」: セルの内容に「5」が現れるまで、セルを黄色いペンキで塗りつぶす。 条件判断は【前】
Sub ループその3_Until前判断()
' セルD10をアクティブにする
Cells(10, 4).Select
'セルの値が5に達したかどうかを判断する
Do Until ActiveCell.Value = 5
'セルを黄いペンキで塗りつぶす
ActiveCell.Interior.Color = vbYellow
'セルを右に移動する
ActiveCell.Offset(0, 1).Select
'繰り返し
Loop
End Sub
Sub ループその4_Until後判断()
' セル D13をアクティブにする
Cells(13, 4).Select
'取り敢えずやっちゃえ!!
Do
'セルを黄色に塗りつぶす
ActiveCell.Interior.Color = vbYellow
'セルを右に移動する
ActiveCell.Offset(0, 1).Select
' 5に達するまで繰り返し
Loop Until ActiveCell.Value = 5
End Sub
Sub ループ1()
'カウンタ変数iを整数型で宣言
Dim i As Integer
'Excelのワークシート「はじめてのループ」のセルA1をアクティブセルにする
Worksheets("はじめてのループ").Range("A1").Select
'Forループで1から10まで1ずつ増やす
For i = 1 To 10
'アクティブセルに「Threadsのフォローワーさんが i 人増えた!!」と出力
ActiveCell.Value = "Threadsのフォローワーさんが " & i & " 人増えた!!"
'アクティブセルを1つ下に移動する
ActiveCell.Offset(1, 0).Select
'iの繰り返し処理
Next i
End Sub
for i=1 to 10の後に、Step 2と記述します。 先ほどのコードの下に1行開けて書きますので、セルA12をアクティブセルにします。
Sub ループ2()
'カウンタ変数iを整数型で宣言
Dim i As Integer
'Excelのワークシート「はじめてのループ」のセルA12をアクティブセルにする
Worksheets("はじめてのループ").Range("A12").Select
'Forループで1から10まで2ずつ増やす
For i = 1 To 10 Step 2
'アクティブセルに「Threadsのフォローワーさんが i 人増えた!!」と出力
ActiveCell.Value = "Threadsのフォローワーさんが " & i & " 人増えた!!"
'アクティブセルを1つ下に移動する
ActiveCell.Offset(1, 0).Select
'iの繰り返し処理
Next i
End Sub
Sub ループ3()
'カウンタ変数iを整数型で宣言
Dim i As Integer
'Excelのワークシート「はじめてのループ」のセルA18をアクティブセルにする
Worksheets("はじめてのループ").Range("A18").Select
'<<ここからループ>>
'Forループで10から1まで1ずつ減らす
For i = 10 To 1 Step -1
'アクティブセルに「あと i分 で 鎌倉行きの電車が到着します。」と出力
ActiveCell.Value = "あと " & i & " 分で 鎌倉行きの電車が到着します。"
'アクティブセルを1つ下に移動する
ActiveCell.Offset(1, 0).Select
'iの繰り返し処理
Next i
'<<ここから、ループを抜けた後の処理>>
'「電車が到着しました!!」と出力
ActiveCell.Value="電車が到着しました!!”
'セルを1つ下に移動する
ActiveCell.Offset(1,0).Select
End Sub
Sub IF文1()
'文字列型変数「敵の名前」と数値型変数「攻撃レベル」を宣言
Dim 敵の名前 As String, 攻撃レベル As Integer
'変数「敵の名前」に「メタルスライム」を代入
敵の名前 = "メタルスライム"
'攻撃レベルを入力
攻撃レベル = InputBox("攻撃レベルを入力して下さい。")
'IF文による分岐 100以上かどうか
If 攻撃レベル >= 100 Then
MsgBox 敵の名前 & "を倒した!! "
End If
End Sub
Sub IF文2()
'文字列型変数「敵の名前」と数値型変数「攻撃レベル」を宣言
Dim 敵の名前 As String, 攻撃レベル As Integer
'変数に代入
敵の名前 = "メタルスライム"
'攻撃レベルを入力
攻撃レベル = InputBox("攻撃レベルを入力して下さい。")
'IF文による分岐 100 以上かどうか
If 攻撃レベル >= 100 Then
MsgBox 敵の名前 & "を倒した!! "
Else '←ここを修正
MsgBox 敵の名前 & "は、少しくたばった。"
End If
End Sub
Sub IF文3()
'文字列型変数「敵の名前」と数値型変数「攻撃レベル」を宣言
Dim 敵の名前 As String, 攻撃レベル As Integer
'変数に代入
敵の名前 = "メタルスライム"
'攻撃レベルを入力
攻撃レベル = InputBox("攻撃レベルを入力して下さい。")
'IF文による分岐 100 以上かどうか
If 攻撃レベル >= 100 Then
MsgBox 敵の名前 & "を倒した!! "
ElseIf 攻撃レベル>=80 Then '←ここを修正
MsgBox "勇者頑張れ!!もう一息!!"
Else
MsgBox "YOU LOSE...."
End If
End Sub
Sub IF文4()
'文字列型変数「ターゲット」と「登場キャラ」を宣言
Dim ターゲット As String, 登場キャラ As String
'変数ターゲットに「メタルスライム」を代入
ターゲット = "メタルスライム"
'登場キャラを入力
登場キャラ = InputBox("登場キャラを入力して下さい。")
'IF文による分岐 メタルスライムかどうか
If 登場キャラ = ターゲット Then
MsgBox "勇者は" & ターゲット & "を攻撃した!! "
Else
MsgBox 登場キャラ & "さん、こんにちは。"
End If
End Sub
Sub 変数2()
'文字列型の変数「敵の名前」と数値型の「回数」を宣言
Dim 敵の名前 As String, 回数 As Integer
敵の名前 = InputBox("敵の名前を入力して下さい。")
回数 = InputBox("攻撃する回数を入力して下さい。")
Debug.Print "マリオは" & 敵の名前 & "を" & 回数 & " 回攻撃した!!"
End Sub
Sub 変数7()
'通過型Currencyの変数チケット代と、文字列型映画タイトルを宣言
Dim 映画タイトル As String, チケット代 As Currency
映画タイトル = InputBox("見たい映画のタイトル名を入力して下さい。")
チケット代 = InputBox("チケット代を入力して下さい。")
MsgBox 映画タイトル & "の一般料金は、" & チケット代 & "円です。"
End Sub