合并多个工作表到一个
在本文中,我们将学习如何通过Microsoft Excel中的VBA组合来自不同工作簿的数据。
让我们通过一个简单的练习来了解如何在Microsoft Excel中通过VBA合并电子表格。
我们有3个不同的Excel文件。文件夹中有2个文件用于xlsx,一个文件用于xlsm。我们想要整理Excel文件中的两个数据集,以记住一些事情,在每个数据中,行和列都可以增加和减少,而且我们也不知道Excel文件名以及一个文件夹中有多少个文件。
在此工作表中,我们要合并以下数据:-
| 1 ^ st ^数据:-
| 2 ^ nd ^数据:-
| 3 ^ rd ^数据:-
|现在,我们要整理工作表中的数据。我们需要遵循以下给定的步骤和代码:-*按Alt + F11键打开VBE页面以编写宏。
-
然后转到插入选项卡并插入模块。
-
在页面中写下下面提到的代码。
子Collate_Data()
Dim FolderpathAs字符串,filePath作为字符串,文件名作为String Folderpath =“ E:\ Excel Tips \ New VBA topic \ HR Data \”’(提及文件路径)
filePath = Folderpath&“ xls”
文件名= Dir(filePath)
Dim LastrowAs Long,Lastcolumn与文件名<>“
Workbooks.Open(文件夹路径和文件名)
Lastrow = ActiveSheet.Cells(Rows.count,1).End(xlUp).Row Lastcolumn = ActiveSheet.Cells(1,Columns.count).End(xlToLeft).Column Range(Cells(2,1),Cells(Lastrow) ,Lastcolumn))。复制Application.DisplayAlerts = False ActiveWorkbook。关闭行= Sheet1.Cells(Rows.count,1).End(xlUp).Offset(1,0).Row ActiveSheet.Paste Destination:= Worksheets(“ Sheet1 “).Range(Cells(erow,1),Cells(erow,5))
Filename = Dir Loop Application.DisplayAlerts = True End Sub代码说明:-首先,我们将定义在描述代码时需要使用的all变量。然后,我们将使用Do While循环中的代码为所有Excel文件运行程序。然后,我们将定义文件的路径,然后定义Excel工作表中的最后一行和最后一列,然后定义粘贴数据的目标位置。
-
要运行宏,请按F5键。
-
两张纸的数据将被复制并粘贴到Excel纸中。
通过这种方式,我们可以通过Microsoft Excel中的VBA整理来自不同Excel文件的工作表中的数据。