Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.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宏,用于从所有excel文件中复制特定数据并粘贴到当前excel工作表2中,名为;“出口”;_Excel_Vba - Fatal编程技术网

VBA宏,用于从所有excel文件中复制特定数据并粘贴到当前excel工作表2中,名为;“出口”;

VBA宏,用于从所有excel文件中复制特定数据并粘贴到当前excel工作表2中,名为;“出口”;,excel,vba,Excel,Vba,我对宏/vba非常陌生。。。我试图在指定文件夹中创建宏循环,从名为“查看装运”的sheet1复制数据,并将其粘贴到名为“导出”的sheet2中的当前工作簿中。但是,我下面的代码不起作用,因为我在下面第一行指定了文件夹路径的地方遇到了错误 其次,我不理解如何为要复制的范围编码。名为“DailyDownl”的文件夹中的所有excel文件都有类似的数据,因此我想复制单元格“A2”到所有数据的范围,即尝试复制每个excel文件中没有标题行列的数据。因此,当我给出“A2:AAA2”时,它只复制了该行,而不

我对宏/vba非常陌生。。。我试图在指定文件夹中创建宏循环,从名为“查看装运”的sheet1复制数据,并将其粘贴到名为“导出”的sheet2中的当前工作簿中。但是,我下面的代码不起作用,因为我在下面第一行指定了文件夹路径的地方遇到了错误

其次,我不理解如何为要复制的范围编码。名为“DailyDownl”的文件夹中的所有excel文件都有类似的数据,因此我想复制单元格“A2”到所有数据的范围,即尝试复制每个excel文件中没有标题行列的数据。因此,当我给出“A2:AAA2”时,它只复制了该行,而不是该表的全部数据,也不是其他表的数据。 我将一个接一个地突出显示下面截图中的所有内容


我想要宏做的就是。。。宏应在名为“DailyDownl”的文件夹中循环,复制sheet1中名为“查看装运”的数据,复制整个数据,而不复制标题行或顶行,即粘贴当前工作簿sheet2中名为“导出”的所有数据。

请尝试下一个调整的功能:

Sub CopyData(shSource As Worksheet, shTarget As Worksheet)
   Dim lastTRow As Long
    
    lastTRow = shTarget.Range("A" & rows.count).End(xlUp).row + 1
    shSource.Range(shSource.Range("A2"), shSource.cells(shSource.UsedRange.rows.count , shSource.Columns.count)).Copy
    shTarget.cells(lastTRow, 1).PasteSpecial xlPasteValuesAndNumberFormats

    Application.CutCopyMode = xlCopy
End Sub

如果strPath为“C:\Path\DailyDownL\”,则
感谢复制部分的工作,但文件夹标识仍然存在问题。请看我上面的编辑,我已经用你编辑的代码粘贴了完整的代码。请协助文件夹标识条件部分,please@Jay萨米尔:你在说什么“我上面的编辑”?如果你试图通过编辑来修改我的答案,这将一直被拒绝。那么,我是否应该理解,您检索文件夹路径的功能没有按您的需要工作?我没有在您的答案中编辑内容,我已将您粘贴到主代码@FaneDuru中编辑您的部分答案是正确的,并且正在工作,但问题仍然存在,文件夹路径的代码……现在问题在这部分“'确保已拾取文件夹。如果不是strPath=“C:\FolderPath\DailyDownL\”则“从文件夹strfile=Dir$(strPath&“*.xls”,vbNormal)获取所有文件,因此在我上面的问题中,此部分仍处于挂起状态。我的意思是我希望宏找到文件夹并执行下一步操作task@Jay萨米尔:我看不到你的答案代码有任何修改。。。你改变了什么?我采用的功能与以前完全相同。但是,除此之外,您的代码是否接受除“C:\FolderPath\DailyDownL\”之外的所有路径?这是你不愿意做的事吗?那么,您需要在所有.xls文件之间迭代还是在所有Excel文件(xls、xlsx、xlsm、xlsb)之间迭代?