Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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 - Fatal编程技术网

Vba 尝试将多个工作簿中的两个单元格复制到单个工作表中

Vba 尝试将多个工作簿中的两个单元格复制到单个工作表中,vba,excel,Vba,Excel,我试图从文件夹中每个工作簿的结果工作表中复制两个单元格B2和C2,然后从单元格A1、A2、A3等开始将单元格粘贴到主工作簿中 我发现了一个教程,几乎做什么,我正在寻找,我试图编辑它 我不确定如何将数据显示在主控中的同一工作表上,因为我认为这将为文件夹中的每个工作簿添加一个新工作表 这里的最后一行:ActiveWorkbook.Close Save=False 正在给我错误:预期的函数或变量。而保存被突出显示为问题 'Copy cells B2 & C2 from the results

我试图从文件夹中每个工作簿的
结果
工作表中复制两个单元格
B2和C2
,然后从单元格
A1、A2、A3等开始将单元格粘贴到主工作簿中

我发现了一个教程,几乎做什么,我正在寻找,我试图编辑它

我不确定如何将数据显示在主控中的同一工作表上,因为我认为这将为文件夹中的每个工作簿添加一个新工作表

这里的最后一行:
ActiveWorkbook.Close Save=False

正在给我错误:
预期的函数或变量。
保存
被突出显示为问题

 'Copy cells B2 & C2 from the results worksheet
Worksheets("Results").Activate
ActiveSheet.Range(Cells(2, 2), Cells(3, 2)).Copy
ActiveWorkbook.Close Save = False
完整代码

Sub LoopThroughDirectory()

Dim MyFile As String
Dim WorkbookCounter As Long
WorkbookCounter = 1
Dim Filepath As String

Filepath = "C:\Test\"

Application.ScreenUpdating = False
MyFile = Dir(Filepath)
Do While Len(MyFile) > 0

Workbooks.Open (Filepath & MyFile)

'Copy cells B2 & C2 from the results worksheet
Worksheets("Results").Activate
ActiveSheet.Range(Cells(2, 2), Cells(3, 2)).Copy
ActiveWorkbook.Close Save = False

Application.DisplayAlerts = False

'Paste cells B2 & C2 to A1
Sheets(WorkbookCounter).Select
ActiveSheet.Paste Destination:=Worksheets(WorkbookCounter).Range("A1")
Application.CutCopyMode = False
WorkbookCounter = WorkbookCounter + 1
If WorkbookCounter > 1000 Then
Exit Sub
End If

MyFile = Dir
Loop
ActiveWorkbook.Save
Application.ScreenUpdating = True

End Sub

当需要使用数字时,列使用字母。你有:

ActiveSheet.Range(Cells(B, 2), Cells(C, 2)).Copy 

但是
B
C
不是变量,
Cells
函数正在那里寻找一个列索引。将B和C分别替换为2和3。

使用
ActiveSheet.Range(“B2:C2”)。复制
替代。或
范围(单元格(2,2),单元格(2,3))。复制
谢谢,这很有效。ActiveSheet.Paste Destination:=工作表(q).Range(“A1”)出现相同错误。有人知道这个错误是什么意思吗?请检查您正在使用的
标记的类型,注释中的标记和该行问题中的代码看起来不像标准的
类型。@DavidP good spot,已调整。