0
我有一個使用標籤從Excel電子表格輸入數據的模板文檔。由於我的工作環境的特性,我無法使用MailMerge執行此任務。數據總是在同一個單元格中,因爲管理員總是在第三行輸入新數據。如何調用工作簿中的多個Excel工作表中的一個以將值導出爲Word?
我的問題是,信息可以從工作簿中的幾個Excel工作表中的一個繪製。我可以運行一系列的MsgBox提示符(就像我在我的示例代碼中那樣),但這似乎效率低下。
有什麼方法可以提示用戶選擇該工作簿中的七個工作表之一嗎?
我的代碼:
Sub Populate()
Dim objExcel As New Excel.Application
Dim exWb As Excel.Workbook
Set exWb = objExcel.Workbooks.Open("c:\")
MSG1 = MsgBox("Is the information found on Sheet 1?", vbYesNo, "Sheet Selection")
If MSG1 = vbYes Then
ThisDocument.This.Caption = "Objet/Subject: " & exWb.Sheets("Sheet1").Cells(3, 3)
ThisDocument.That.Caption = exWb.Sheets("Sheet1").Cells(3, 1)
ThisDocument.Your.Caption = exWb.Sheets("Sheet1").Cells(3, 2)
Else
MSG2 = MsgBox("Is the information found on Sheet 2?", vbYesNo, "Sheet Selection")
End If
If MSG2 = vbYes Then
ThisDocument.This.Caption = "Objet/Subject: " & exWb.Sheets("Sheet2").Cells(3, 3)
ThisDocument.That.Caption = exWb.Sheets("Sheet2").Cells(3, 1)
ThisDocument.Your.Caption = exWb.Sheets("Sheet2").Cells(3, 2)
exWb.Close
Set exWb = Nothing
End Sub
一個普通的輸入框,然後要求他們確認自己的輸入,如:什麼工作表數?你輸入了X,這是正確的嗎? – NickSlash
@NickSlash的建議是可行的。如果你想要一些「fancier」,你可以創建一個帶有列表框或組合框的用戶窗體,代碼用工作表名稱填充。用戶選擇一個條目,確認UserForm,然後從那裏繼續執行代碼。 –