0
我有一個word文檔,我想填充來自excel的相同單詞。可以說,兩者都位於c:\ test 我有一些使用vba的知識,但是這個有點超過它。 在我的Word文檔我有一句話可以說: 我firstname
lastname
和我的用戶名是username
,這是我的部門:department
使用VBA填充word文檔中的excel數據
我有一個Excel稱爲數據,與表的紙張稱爲Sheet1中被叫用戶和一些列:用戶名,名字,姓氏,部門。該表是一個odbc連接的表,它在工作簿打開時刷新。
- 我的第一個問題是,我應該使用什麼樣的對象名字,姓氏,用戶名,單詞中的deparment?我插入了一個富文本控件內容,並在那個傳統的表單/文本格式字段中,並將書籤重命名爲名字,姓氏等。
- 我想使用宏和vlookup在excel中填充單詞中的數據。我真的不知道如何做到這一點,我有一些代碼,但它不起作用。當宏開始一個窗口會彈出詢問
username
並基於該值的其他框將被填充,
下面的代碼:
Dim objExcel As Object
Set objExcel = CreateObject("Excel.Application")
Dim username As String
Dim firstname As String
Dim lastname As String
Dim department As String
username = InputBox("Please enter the username", "Input")
Set exWb = objExcel.Workbooks.Open("C:\test\data.xlsx")
username = objExcel.WorksheetFunction.VLookup(username, _
eexWb.ActiveSheet.Range("A:F"), 1, False)
firstname = objExcel.WorksheetFunction.VLookup(username, _
eexWb.ActiveSheet.Range("A:F"), 2, False)
lastname = objExcel.WorksheetFunction.VLookup(username, _
eexWb.ActiveSheet.Range("A:F"), 3, False)
department = objExcel.WorksheetFunction.VLookup(username, _
eexWb.ActiveSheet.Range("A:F"), 4, False)
exWb.Close
Set exWb = Nothing
謝謝,這個代碼是優秀的和行之有效的。是否有機會多次運行宏並升級書籤?像宏的第一個符文用戶名:uname1和宏第二次運行的用戶名:uname2。在多次運行的時刻,它將在eachother旁邊插入值。是否可以覆蓋現有的值? –
@TamasKosa - 將UpdateBookmark中的Replace選項設置爲True。根據我目前的使用情況,我將它留在了False。 –