2014-10-19 84 views
1

我有一個Word文檔應打開一個Excel文檔,找到範圍中的第一個空單元格並開始填充某些帶有信息的單元格。因此,我想使用偏移量,但由於某種原因,它會給偏移量帶來錯誤。下面的代碼的相關部分:vba:偏移量不適用於Excel文檔中的Word腳本

Sub ExcelDoc() 

Dim XLapp As Object 
Dim objExcelDoc As Object 
Dim objOverzicht As Object 
Dim c As Range 

'Set objOverzicht 
Set objOverzicht = ActiveDocument 

'Set XLapp and objExcelDoc 
Set XLapp = CreateObject("Excel.Application") 
XLapp.Visible = False 
Set objExcelDoc = XLapp.Documents.Open("C:\Document.xlsm") 

'Set c 
Set c = objExcelDoc.Sheets("Overzicht").Range("B3") 
    Do 
    Set c = c.Offset(1, 0) 
    Loop Until c = "" 

當我運行的代碼,它標誌着「.Offset」並顯示消息‘編譯錯誤:未找到方法或數據成員’。我在這裏做錯了什麼?

非常感謝提前看到這個!

回答

1

Word本身有一個「Range」對象,所以當你聲明Dim c As Range時c被創建爲Word.Range對象,它沒有Offset屬性。所以,你有2種方式解決問題:

  1. 只是c聲明爲Variant:Dim c as Variant

  2. 做一個MS Excel引用,並用它聲明變量:

    2.1 VBA編輯器去工具 - >參考,並打開 「Microsoft Excel中XX.X對象庫」 參考

    2.2聲明變量:Dim c as Excel.Range

+0

很好,解決了這個問題。非常感謝你! – RobK 2014-10-20 08:12:06