我正試圖編寫一個代碼,在用戶提示操作後將數據導出爲excel。 基本上,我已經能夠成功導出到Excel,但第二個實例我想寫入到一個新的選項卡,而不是一個新的Excel應用程序。寫入Excel對象
oExcel = CreateObject("Excel.Application")
oExcel.Visible = True
oBook = oExcel.Workbooks.Add
oSheet = oBook.Worksheets(3)
oSheet.Delete()
oSheet = oBook.Worksheets(2)
oSheet.Delete()
oSheet = oBook.Worksheets(1)
oSheet.Name = "Run " & Counter
此時,用戶將按下按鈕,使Excel不再處於活動狀態。 因此,當我想將更多數據寫入新工作表時,除非我完全重複代碼,否則Object命令不會工作 。
我想:
Counter +=1
'For the first instance
If Counter = 1 Then
oExcel = CreateObject("Excel.Application")
oExcel.Visible = True
oBook = oExcel.Workbooks.Add
oSheet = oBook.Worksheets(3)
oSheet.Delete()
oSheet = oBook.Worksheets(2)
oSheet.Delete()
oSheet = oBook.Worksheets(1)
oSheet.Name = "Run " & Counter
Else
'For every instance after that the user wants to do another run
oExcel.ActivateObject(Excel.Application)
oBook = oExcel.Workbooks(1)
oSheet = oBook.Worksheets.Add
oSheet.Name = "Run " & Counter
End If
我一直在尋找了幾天,我變得非常沮喪。我不知道如何返回到打開的Excel中,以便繼續寫入數據...在用戶按下VB表單上的按鈕後,確認他們想要再次運行。
謝謝。我必須稍微改變getObject並將書名命名爲「Book1」 - 出於某種原因,它不會自動命名書「Book1」... – jrod404
設置xlApp = GetObject(「Book2」)。 – jrod404