2014-03-05 28 views
0

我試圖從Excel中拉出數據並將其放入單詞文本形式字段中。下面的代碼工作除了它不會從我指定的單元格中提取數據 - 它從另一個單元格中提取文本。我可以看到在Excel中選擇了正確的單元格,因爲它是輪廓,但它不會從中抽取數據。我嘗試過使用不同的單元格,並且有些單元格會提取我想要的數據,而有些則會從其他單元格中提取數據。當從Excel中將值拉到Word文本時,無法訪問正確的單元格文本形式字段

任何人都知道重複爲什麼這可能會發生,我該如何解決它?謝謝。

Private Sub CommandButton1_Click() 

Dim wrdApp 
Dim wrdDoc 
Dim Data 

ActiveSheet.Cells(8, 1).Activate 
Data = Selection.Cells(8, 1).Value 

Set wrdApp = CreateObject("Word.Application") 
wrdApp.Visible = True 

Set wrdDoc = wrdApp.Documents.Open("H:\jpmDesk\Desktop\VBA tester.docx") 

With wrdDoc 

wrdApp.ActiveDocument.Bookmarks("Text1").Select 
wrdApp.Selection.Range.Text = Data 

End With 

Set wrdDoc = Nothing 
Set wrdApp = Nothing 

End Sub 
+0

左上角的單元格是0,0還是1,1?你必須知道這個,所以你可以計算每個單元格的x和y偏移量。 – PaulG

+0

左上角是1,1.不幸的是我必須訪問這個特定的信息,或者我所做的是無用的。 它可能與我的電子表格中存在合併的單元格有關嗎?我想象它必須是如何在Excel中格式化單元格的東西... – user3178245

回答

0

變化

Data = Selection.Cells(8, 1).Value 

Data = Selection.Value 
0

替換現有代碼:

ActiveSheet.Cells(8, 1).Activate 
    Data = Selection.Cells(8, 1).Value 

有了這個:

Data = Range("A1").Offset(7, 0).Value 


Cells(8,1).Value是不一樣的Range("A1").Offset(7,0).Value

通過使用範圍對象的偏移方法,你現在可以不實際選擇小區檢索值。

通過使用F8在VBE中瀏覽代碼,瞭解它如何工作。

相關問題