如何 使用 EXCEL VBA 功能 對”簡 單的資料表 格”執行新增 功能 (Office 2003)
1. 打開 EXCEL ,並 新增一 空白 活頁簿 (通 常打 開 EXCEL ,預 設值已 是一 空白活 頁簿 ) 2. 於 sheet1 建立下圖的資料
3. 打開 VB 工具 列
4. 打開 控制項 工具 列
5. 點一 下指令 按鈕
6. 於 sheet1 大概 G4 的位 置點一 下, 會建立 一個按 鈕
7. 點一 下剛產 生的 那個按 鈕, 按右鍵 ,點 選屬 性,即 可叫出 這個 按鈕的 屬性 視窗
8. 修改屬 性視 窗中的 caption 的內 容 caption 表示”出 現在 物件上 的修 飾文字 ,一 般用來 辨識或 描述該 物件 ”
9. 對按 鈕連續 點 2 下,會 開啟 VB 編輯器
10. 建立一 個 newline() 的巨集 ( 方法及 程 式內 容如同 老師 上課講 )
11. 程式內容 說明 :(Cell 儲存 格 ) Sub newline() ‘ 巨集名 稱 ‘ 選擇 C4 這個 Cell Range(“C4”).Select ‘ 執行 CTRL+↓ 到目前 這行的 最後 一列的 Cell Selection.End(xlDown).Select ‘ 執行 CTRL+← 到目前 這列的 最前 一行的 Cell Selection.End(xlToLeft).Select ‘ 使用相對 位置 方式, 於目 前所在 的 Cell 向下 移動 ‘ 1 個 Cell ActiveCell.Offset(1, 0).Range("A1").Select End Sub
12. 點選 VBA Project 按右 鍵,點 選插 入,點 選自 訂表單 ( 即可建 立一 個 UserForm)
13. 將建立 的 UserForm1 拉出適 當的大 小, 點選 控制項 Label 後,於 UserForm1 適當 的位 置,點 一下 ,即可 建立 Lable1 這個物 件
14. 點選 Label1 ,按 右鍵選 擇屬 性,並 修改 於屬 性視窗 中 Caption 的內容
15. 點選控 制項中 的 TextBox 後, 於 UserForm1 適當位置 點一 下,點 選控 制項 中的 CommandButton ,於 UserForm1 適 當位 置點一 下, 於屬性 視窗 中修改 該按 鈕的 Caption 的內容
16. 重覆 13~15 的動作 ,建立 如下 圖的 UserForm1 的佈置( 大概 就可以 了)
17. 分別在 這 3 個按 鈕處連 續點 2 下,系 統會 建立這 3 個按鈕 的空白 Click 事件 框架 Click 表示 ” user 用 mouse 來按 一下控 制項” 時要執 行的 動作
18. 輸入如 下圖的 程式 碼
Private Sub CommandButton1_Click() ‘ 新增按鈕的 Click 事件 ‘ 執行之前建立的 newline 巨集 , 將 Cell 移至新的一筆記 錄 ‘ 的位置 (so 現在游標會停在新記錄的項次這一欄 ) newline ‘ 將 TextBox1( 項次 ) 的內容寫至動作 Cell ActiveCell.Value = UserForm1.TextBox1.Text ‘ 於動作 Cell, 以相對位置方式向右移動一格 ( 移至品名這欄 ) ActiveCell.Offset(0, 1).Range(“A1”).Select ‘ 將 TextBox2( 品名 ) 的內容寫至動作 Cell ActiveCell.Value = UserForm1.TextBox2.Text ‘ 於動作 Cell, 以相對位置方式向右移動一格 ( 移至單價這欄 ) ActiveCell.Offset(0, 1).Range(“A1”).Select ‘ 將 TextBox3( 單價 ) 的內容寫至動作 Cell ActiveCell.Value = UserForm1.TextBox3.Text ‘ 於動作 Cell, 以相對位置方式向右移動一格 ( 移至數量這欄 ) ActiveCell.Offset(0, 1).Range(“A1”).Select ‘ 將 TextBox4( 數量 ) 的內容寫至動作 Cell
20. 程式說明 b: ‘ 取消按 鈕的 Click 事件 Private Sub CommandButton2_Click() ‘ 將 TextBox1( 項次 ) 的內 容清 空 ( 寫入空白 ) UserForm1.TextBox1.Text = “” ‘ 將 TextBox2( 品名 ) 的內 容清 空 ( 寫入空白 ) UserForm1.TextBox2.Text = “” ‘ 將 TextBox3( 單價 ) 的內 容清 空 ( 寫入空白 ) UserForm1.TextBox3.Text = “” ‘ 將 TextBox4( 數量 ) 的內 容清 空 ( 寫入空白 ) UserForm1.TextBox4.Text = “” ‘ 將 UserForm1 隱藏 UserForm1.Hide End Sub 為什 麼要 清空內 容呢 ? 因為 下次 再叫出 UserForm1 時 就會 是空 的內容 ,而 不是上 次殘 留的內 容了
21. 程式說明 c: ‘ 預設值 按鈕 的 Click 事件 Private Sub CommandButton3_Click() ‘ 將 TextBox1( 項次 ) 的內容 寫入 99 UserForm1.TextBox1.Text = “99”
‘ 將 TextBox2( 品名 ) 的內 容寫入 99 UserForm1.TextBox2.Text = “99”
‘ 將 TextBox3( 單價 ) 的內 容寫入 99 UserForm1.TextBox3.Text = “99”
‘ 將 TextBox4( 數量 ) 的內 容寫入 99
UserForm1.TextBox4.Text = “99” End Sub 預設 值按 鈕方便 你新 增時自 動填 值
22. 畫面再 回至 Excel ,對 ”新增 記錄 ”這個 按鈕連 續點 2 下,系 統會建 立這 個按鈕 的空 白 Click 事件框架 ,並 輸入 UserForm1.Show( 顯示 / 執行 UserForm1)
23. 再回到 Excel ,結 束設計 階段 ,之後 點擊 ”新增 記錄” 就可 以執行 你寫 的程式 了