VBA講義  - Ch05. 實例練習

1. 設計一個程式來提供選擇題來測驗學生, 畫面 和 程式 如下:

程式

雙按"作答1"鈕, 填入下方藍色的字

Private Sub CommandButton1_Click()
UserForm1.Label1.Caption = Range("B2")
UserForm1.Show

End Sub

並在Visual Basic 編輯器中選功能表的 "插入" / "自訂表單"

設計 UserForm1

如左圖, 擺放1個標籤和3個命令鈕

修改屬性

依序把3個命令鈕的caption屬性改成
"Text"、"Caption"、"Name"

程式

分別雙按3個命令鈕, 填入下方藍色的字

Private Sub CommandButton1_Click()
Range("D2") = "錯"
End
End Sub

Private Sub CommandButton2_Click()
Range("D2") = "對"
End
End Sub

Private Sub CommandButton3_Click()
Range("D2") = "錯"
End
End Sub

2. 設計一個程式來協助使用者輸入BMI ( = 體重 / 身高^2 , 注意:體重的單位是公斤, 身高的單位是公尺 )。

程式

雙按"作答1"鈕, 填入下方藍色的字

Private Sub CommandButton1_Click()
UserForm1.Show
End Sub

並在Visual Basic 編輯器中選功能表的 "插入" / "自訂表單"

設計 UserForm1

如左圖, 擺放2個標籤、2個文字方塊和1個命令鈕

修改屬性

如左圖, 把3個標籤的caption屬性改成
"身高(單位:公尺)"、"體重(單位:公斤)"

把3個命令鈕的caption屬性改成"計算"

程式

雙按命令鈕, 填入下方藍色的字

Private Sub CommandButton1_Click()
h = Val(TextBox1.Text)
w = Val(TextBox2.Text)
Range("B2") = w / (h ^ 2)

End
End Sub

3. 設計一個程式來協助使用者輸入性別、血型。

程式

雙按"作答1"鈕, 填入下方藍色的字

Private Sub CommandButton1_Click()
UserForm1.Show
End Sub

並在Visual Basic 編輯器中選功能表的 "插入" / "自訂表單"

設計 UserForm1

如左圖, 擺放2個框架(1個內含2個選項鈕, 另1個內含4個選項鈕)、1個命令鈕

修改屬性

如左圖, 把2個框架的caption屬性改成 "性別"、"血型"

把6個選項鈕的caption屬性改成
"男"、"女"、"A"、"B"、"AB"、"O"

把命令鈕的caption屬性改成"確定"

程式

雙按命令鈕, 填入下方藍色的字

Private Sub CommandButton1_Click()
If OptionButton1.Value = True Then
Range("B2") = "男"
Else
Range("B2") = "女"
End If

If OptionButton3.Value = True Then
Range("C2") = "A"
End If
If OptionButton4.Value = True Then
Range("C2") = "B"
End If
If OptionButton5.Value = True Then
Range("C2") = "AB"
End If
If OptionButton6.Value = True Then
Range("C2") = "O"
End If
End

End Sub

4. 設計一個程式來協助使用者輸入語文專長及電腦專長。

程式

雙按"作答1"鈕, 填入下方藍色的字

Private Sub CommandButton1_Click()
UserForm1.Show
End Sub

並在Visual Basic 編輯器中選功能表的 "插入" / "自訂表單"

設計 UserForm1

如左圖, 擺放2個框架(1個內含3核取方塊, 另1個內含3核取方塊)、1個命令鈕

修改屬性

如左圖, 把2個框架的caption屬性改成 "語文專長"、"電腦專長"

把6個選項鈕的caption屬性改成
"中文"、"英文"、"台語"、"程式設計"、"資訊網路"、"資料庫"

把命令鈕的caption屬性改成"確定"

程式

雙按命令鈕, 填入下方藍色的字

Private Sub CommandButton1_Click()
i = 2
If CheckBox1.Value = True Then
Cells(2, i) = "中文"
i = i + 1
End If
If CheckBox2.Value = True Then
Cells(2, i) = "英文"
i = i + 1
End If
If CheckBox3.Value = True Then
Cells(2, i) = "台語"
i = i + 1
End If

i = 2
If CheckBox1.Value = True Then
Cells(3, i) = "程式設計"
i = i + 1
End If
If CheckBox2.Value = True Then
Cells(3, i) = "資訊網路"
i = i + 1
End If
If CheckBox3.Value = True Then
Cells(3, i) = "資料庫"
i = i + 1
End If
End

End Sub

5. 設計一個程式來協助使用者輸入他的喜好。

程式

雙按"作答1"鈕, 填入下方藍色的字

Private Sub CommandButton1_Click()
UserForm1.ListBox1.AddItem "玩電腦遊戲"
UserForm1.ListBox1.AddItem "上網聊天"
UserForm1.ListBox1.AddItem "打球"
UserForm1.ListBox1.AddItem "慢跑"
UserForm1.ListBox1.AddItem "釣魚"
UserForm1.ListBox1.AddItem "看漫畫"
UserForm1.Show

End Sub

並在Visual Basic 編輯器中選功能表的 "插入" / "自訂表單"

設計 UserForm1

如左圖, 擺放2個標籤、2個清單方塊和2個命令鈕

修改屬性

如左圖, 把2個標籤的caption屬性改成 "選項"、"你的喜好"

把2個清單方塊的caption屬性改成 "語文專長"、"電腦專長"

把6個命令鈕的caption屬性改成"加入"、"確定"

程式

分別雙按2個命令鈕, 填入下方藍色的字

Private Sub CommandButton1_Click()
If ListBox1.ListIndex >= 0 Then
ListBox2.AddItem ListBox1.Text
End If

End Sub

Private Sub CommandButton3_Click()
For i = 0 To ListBox2.ListCount - 1
Cells(2, i + 2) = ListBox2.List(i)
Next i

End Sub