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,已调整。