在本文中,我们将学习如何通过Microsoft Excel中的VBA组合来自不同工作簿的数据。

让我们通过一个简单的练习来了解如何在Microsoft Excel中通过VBA合并电子表格。

我们有3个不同的Excel文件。文件夹中有2个文件用于xlsx,一个文件用于xlsm。我们想要整理Excel文件中的两个数据集,以记住一些事情,在每个数据中,行和列都可以增加和减少,而且我们也不知道Excel文件名以及一个文件夹中有多少个文件。

在此工作表中,我们要合并以下数据:-

image 1

| 1 ^ st ^数据:-

image 2

| 2 ^ nd ^数据:-

image 3

| 3 ^ rd ^数据:-

image 4

|现在,我们要整理工作表中的数据。我们需要遵循以下给定的步骤和代码:-*按Alt + F11键打开VBE页面以编写宏。

  • 然后转到插入选项卡并插入模块。

  • 在页面中写下下面提到的代码。

子Collat​​e_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工作表中的最后一行和最后一列,然后定义粘贴数据的目标位置。

image 5

  • 要运行宏,请按F5键。

  • 两张纸的数据将被复制并粘贴到Excel纸中。

image 6

通过这种方式,我们可以通过Microsoft Excel中的VBA整理来自不同Excel文件的工作表中的数据。