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
-- create a table
CREATE TABLE students (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
gender TEXT NOT NULL
);
-- insert some values
INSERT INTO students VALUES (1, 'Ryan', 'M');
INSERT INTO students VALUES (2, 'Joanna', 'F');
-- fetch some values
SELECT * FROM students WHERE gender = 'F';
-- create a table
CREATE TABLE sazaefamily (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
gender TEXT NOT NULL
);
2行目の「テーブル名のみ」を変えました。
次にデータの入力部分ですが、
-- insert some values
INSERT INTO sazaefamily VALUES (1, '磯野波平', '男性');
INSERT INTO sazaefamily VALUES (2, 'フグ田サザエ', '女性');
と、INSERT INTO の後の表の名前の所を「sazaefamily」に、人物名を波平さんとサザエさんに書き換え、性別も日本語にしました。
ここまでで、この様なイメージの表が出来ています。
最後に表の条件を指定して抽出するWHEREの所を書き換えます。 SELECT * FROM の後のテーブル名を 「sazaefamily 」に、性別も「F」から「女性」に書き換えました。
-- fetch some values
SELECT * FROM sazaefamily WHERE gender = '女性';
これで実行をすると、画面右側にサザエさんの行だけが抽出されます。 表イメージと実行結果です。
では、緑色の「コードを実行」を押してみます。
無事に実行出来ました。
ここまでのコードをまとめます。
-- create a table
CREATE TABLE sazaefamily (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
gender TEXT NOT NULL
);
-- insert some values
INSERT INTO sazaefamily VALUES (1, '磯野波平', '男性');
INSERT INTO sazaefamily VALUES (2, 'フグ田サザエ', '女性');
-- fetch some values
SELECT * FROM sazaefamily WHERE gender = '女性';
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