最近在自學Excel VBA,看的書本是《別怕,Excel VBA其實很簡單》,這本書整體給我的感覺是通俗易懂,可操作性強。另外,個人感覺VBA確實挺實用的,代碼書寫也比較靈活。
下面是我根據書本(PDF頁碼P290-299)提供的操作步驟,採用Excel VBA進行調查問卷的設計。
主要內容有兩部分,一是問卷界面的設計;二是調查結果的自動登記,這一步需要書寫VBA代碼。
(1)問卷界面設計
涉及到窗體控件的插入。
(2)調查結果的自動登記
學員填完問卷後,將結果保存到工作簿中的“調查結果”工作表中,通過編寫程序解決這個問題。
添加一個標準模塊,在模塊中輸入程序。
Public Sub degnji()
Dim xrow As Integer
With Worksheets("調查結果")
xrow = .[A1].CurrentRegion.Rows.Count + 1 ' 取得第一條空行行號
.Cells(xrow, "A") = [D5] ' 寫入學號ID
' 寫入第2到第9題選擇結果
.Cells(xrow, "B").Resize(1, 16).Value = Application.WorksheetFunction. _
Transpose([J10:J25].Value)
.Cells(xrow, "R").Value = [B64].Value ' 寫入學員對培訓中心的建議
End With
Union([D5:E5], [J10:J25], [B64:G64]).ClearContents ' 清除調查問卷中的原有答案
MsgBox "已保存到“調查結果”工作表中!", vbInformation, "提示"
Exit Sub
End Sub
在“問卷”工作表中添加一個按鈕,更改標籤爲“提交問卷”,並將編寫好的代碼指定給該按鈕。
參考書目
[1] Excel Home. 別怕,excel vba其實很簡單[M]. 人民郵電出版社, 2012.