2013-07-25 38 views
1

以下代碼將單個值複製到Word中的書籤中。我需要它複製一系列值,如「A6:G20」。將Excel中的範圍內的值複製到Word中的書籤中

Sub test() 
Dim objWord As Object 
Dim ws As Worksheet 

Set ws = Workbooks("Portfolio1").Sheets("Print") 
Set objWord = CreateObject("Word.Application") 

objWord.Visible = True 
objWord.Documents.Open "D:Q.docx" ' change as required 

With objWord.ActiveDocument 
.Bookmarks("monthtable").Range.Text = ws.Range("C6").Value ' here I need range of values to be selected instead of a single cell 
End With 
Set objWord = Nothing 
End Sub 

回答

0

這當然是重要的部分:

With objWord.ActiveDocument  
.Bookmarks("monthtable").Range.Text = ws.Range("C6").Value ' here i need range of values to be selected instead of a single cell 
End With 

在這裏,你需要循環通過ws.Range(「...」),並在該範圍內的每個細胞,串連將值設置爲.Bookmarks.Range.Text值(而不是將其設置爲相等,這會覆蓋)。首先將它連接到一個字符串變量,然後將書籤設置爲該字符串變量的值可能是一個好主意,因爲這樣可以避免一些潛在的互操作問題。

1

如果合適,你可以複製並粘貼範圍:

Range("A6:G20").Copy 
.Bookmarks("monthtable").Range.PasteExcelTable False, False, False 

有一些其他的粘貼方法,如果你不希望粘貼爲Excel表格。使用Word的VB編輯器來發現這些,或Word宏記錄器。

相關問題