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
-- 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