Private Sub CommandButton1_Click()Dim i As Longi = Worksheets("sheet1").Range("A65536").End(xlUp).RowIf Range("A1") = "" ThenRange("A1") = TextBox1.TextElsei = i + 1Range("A" & i) = TextBox1.TextEnd IfTextBox1.Text = ""TextBox1.SetFocusEnd Sub
幾種方法探討
要使代碼在工作簿打開時(shí)執(zhí)行,則應(yīng)利用Workbook_Open事件。一般應(yīng)該將代碼放置在ThisWorkbook模塊中,這樣在打開該工作簿時(shí)會執(zhí)行其中的代碼。
1、下面的代碼,打開工作簿后,工作表均隱藏,只顯示用戶窗體,但Excel菜單和工具欄仍顯示。
Private Sub Workbook_Open()UserForm1.ShowWorkbooks("Sample1.xls").Windows(1).Visible = FalseEnd Sub
詳見示例Sample1.xls。
2、下面的代碼,在打開工作簿后,將只顯示用戶窗體。
Private Sub Workbook_Open()'最小化窗口 Application.WindowState = xlMinimized'顯示用戶窗體 UserForm1.ShowEnd Sub
若需在關(guān)閉用戶窗體后,工作簿也隨之前閉,則在用戶窗體關(guān)閉事件中,添加下面的代碼:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)ThisWorkbook.CloseEnd Sub
當(dāng)關(guān)閉用戶窗體時(shí),Excel會提示用戶是否保存對工作簿的修改,單擊“是”將保存工作簿并退出。若要默認(rèn)關(guān)閉用戶窗體并自動保存工作簿,則添加下面的代碼:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)ThisWorkbook.Close SaveChanges:=TrueEnd Sub
詳見示例Sample2.xls。
3、下面的示例代碼,將徹底隱藏工作簿。在打開工作簿后,該工作簿將被隱藏,而只顯示用戶窗體,即將用戶窗體當(dāng)作用戶輸入界面,工作簿當(dāng)作后臺數(shù)據(jù)存儲和處理。
Private Sub Workbook_Open()'隱藏工作簿 Application.Visible = False'顯示用戶窗體 UserForm1.ShowEnd Sub
詳見示例Sample3.xls。
注意:此時(shí),Excel將在后臺運(yùn)行,要退出該Excel應(yīng)用程序,必須結(jié)束其進(jìn)程。