Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VBA中正确分配工作簿和工作表_Vba_Excel_Worksheet - Fatal编程技术网

在VBA中正确分配工作簿和工作表

在VBA中正确分配工作簿和工作表,vba,excel,worksheet,Vba,Excel,Worksheet,我已经搜索过这个问题了,但是所有的例子都太复杂了。 我不能使用“设置工作簿”和“设置工作表”对象。我将得到错误1004:对象定义错误 我想从目标文件表“path”中读取路径:C:\Users\Holger\Documents\VBA\WB\u data.xlsx 请找个人帮忙 Sub Get_numbers() 'I have got 2 sheets Dim WB_dest As Workbook Dim WB_data As Workbook 'I need 3 worksheets D

我已经搜索过这个问题了,但是所有的例子都太复杂了。 我不能使用“设置工作簿”和“设置工作表”对象。我将得到错误1004:对象定义错误

我想从目标文件表“path”中读取路径:C:\Users\Holger\Documents\VBA\WB\u data.xlsx

请找个人帮忙

Sub Get_numbers()

'I have got 2 sheets
Dim WB_dest As Workbook
Dim WB_data As Workbook

'I need 3 worksheets
Dim path_sheet As Worksheet
Dim dest_sheet As Worksheet
Dim data_sheet As Worksheet

'Data worksheet's path
Dim path As String

'Counter
Dim i As Byte

'I run this sub from destination file sheet "PATH" which is already open
Set WB_dest = ThisWorkbook
Set path_sheet = WB_dest.Worksheets("Path")
Set dest_sheet = WB_dest.Worksheets("TO")

'I set worksheet from the Excel taht I do not need to open, just reading
Set WB_data = Workbooks.Open(path)
Set data_sheet = WB_data.Worksheets("FROM")

'Data sheet contains three numbers in the first column
'and destination sheet also contains only three numbers in the first coulm
'I would like to add data_sheet numbers after dest_sheet numbers
For i = 4 To 6
    dest_sheet.Cells(i, 1) = data_sheet(i, 1)
Next i
试试这个

Sub Get_numbers()

'I have got 2 sheets
Dim WB_dest As Workbook
Dim WB_data As Workbook

'I need 3 worksheets
Dim path_sheet As Worksheet
Dim dest_sheet As Worksheet
Dim data_sheet As Worksheet

'Data worksheet's path
Dim path As String

'Counter
Dim i As Byte

path = "C:\Users\Holger\Documents\VBA\WB_data.xlsx"

'I run this sub from destination file sheet "PATH" which is already open
Set WB_dest = ThisWorkbook
Set path_sheet = WB_dest.Worksheets("Path")
Set dest_sheet = WB_dest.Worksheets("TO")

'I set worksheet from the Excel taht I do not need to open, just reading
Set WB_data = Workbooks.Open(path)
Set data_sheet = WB_data.Worksheets("FROM")

'Data sheet contains three numbers in the first column
'and destination sheet also contains only three numbers in the first coulm
'I would like to add data_sheet numbers after dest_sheet numbers

data_sheet.Range("A4:A6").Copy
dest_sheet.Range("A4").PasteSpecial xlPasteValues
'For i = 4 To 6
'    dest_sheet.Cells(i, 1) = data_sheet(i, 1)
'Next i

End Sub

您从未定义变量
path
,因此当您试图打开工作簿时,它找不到
null
的路径
数据表(i,1)
应该是什么<代码>数据表是一个工作表。
(i,1)
应该引用什么?