VBA-Excel 2010宏错误"未找到成员或数据方法或#34;

时间:2014-10-30 22:25:47

标签: excel vba

我知道这是一个超级通用的错误,但我是VBA / Macros的新手并且无法解决这个问题。

我有一个excel工作簿,其中包含我需要复制到另一个excel工作簿的数据。 复制数据的Excel工作簿位于网络共享上,并且会经常写入。

这是我的宏代码:

Sub export()
Dim exportFile As String
Dim importSheet As String
Dim rowData As String

exportFile = "\\<server>\spd\_Spec_ParaData\data_import.xlsx"
importSheet = "OutPutValues"
importRange = "A2:ZZ2"

' Get the row from the workbook that we are running in
rowData = Workbooks().Worksheets(importSheet).Range(importRange)

' Not sure if this will work, or always overwrite the last row. May need to be .Row+1
newRow = Workbooks(exportFile).Worksheets(1).Cells(Rows.Count, "A").End(xlUp).Row

exportRange = "A" & (newRow + 1) & ":ZZ" & (newRow + 1)

' Assuming Workbooks() gets the current workbook.
Workbooks(exportFile).Sheets(exportSheet).Range(exportRange) = Workbooks().Sheets(importSheet).Range(importRange)

End Sub

我的错误是在rowData = Workbooks(exportFile)上弹出。工作表

有人可以帮我弄清楚我做错了吗?

谢谢你, 珍

1 个答案:

答案 0 :(得分:0)

尝试使用以下修改代码,我只是打开工作簿并参考工作表(我猜问题就是这样)。我直接关闭了工作簿。

Sub export()
Dim exportFile As String
Dim importSheet As String
Dim rowData As String
Dim wb As Workbook
Dim ws1 As Worksheet, ws2 As Worksheet

exportFile = "\\<server>\spd\_Spec_ParaData\data_import.xlsx"
importSheet = "OutPutValues"
importRange = "A2:ZZ2"

'Open your workbook and point to your spreadsheet    
Set wb = Workbooks.Open(exportFile)
Set ws1 = wb.Sheets(importSheet)    

' Get the row from the workbook that we are running in
rowData = wb.ws.Range(importRange)

' Not sure if this will work, or always overwrite the last row. May need to be .Row+1
newRow = wb.Worksheets(1).Cells(Rows.Count, "A").End(xlUp).Row

exportRange = "A" & (newRow + 1) & ":ZZ" & (newRow + 1)

'NOTE: consider definying the variable "exportSheet", I will do it just for example purpose
Dim exportSheet As String: exportSheet = "InputValues"
Set ws2 = wb.Sheets(exportSheet)

' Assuming Workbooks() gets the current workbook.
wb.ws2.Range(exportRange) = wb.ws1.Range(importRange)
wb.Close

End Sub