excel 把逐个sheet内容拼接
时间: 2023-09-02 19:02:59 浏览: 135
excel 几个shee内容合并到一个sheet中
在 Excel 中,我们可以使用 VBA 宏或公式来逐个拼接多个工作表的内容。
使用 VBA 宏的方法如下:
1. 打开 Excel 文件,按下 ALT + F11 组合键打开 VBA 编辑器。
2. 在 VBA 编辑器中,点击 "插入" > "模块",在代码窗口中输入以下代码:
```vba
Sub 拼接工作表内容()
Dim ws As Worksheet
Dim ws合并 As Worksheet
Dim RangeToCopy As Range
Dim LastRow As Long
'创建一个新工作表,用于存放拼接后的内容
Set ws合并 = ThisWorkbook.Worksheets.Add(After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count))
ws合并.Name = "合并工作表"
'遍历每个工作表
For Each ws In ThisWorkbook.Worksheets
'排除正在处理的合并工作表
If ws.Name <> ws合并.Name Then
'寻找每个工作表的最后一行
LastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
'复制整个工作表的内容到合并工作表中的下一行
Set RangeToCopy = ws.Range("A1:A" & LastRow)
RangeToCopy.Copy ws合并.Cells(ws合并.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1, 1)
End If
Next ws
'调整合并工作表的列宽和行高
ws合并.Columns.AutoFit
ws合并.Rows.AutoFit
MsgBox "拼接完成!"
End Sub
```
3. 在 VBA 编辑器中,按下 F5 键运行宏。
这样,Excel 就会创建一个名为 "合并工作表" 的新工作表,并将所有其他工作表的内容逐个拼接到该工作表中。
如果不想使用 VBA 宏,可以使用公式的方法来逐个拼接工作表内容。首先,在 "合并工作表" 的 A1 单元格中输入以下公式:
```
=Sheet1!A1
```
然后,将该公式拖选填充至 "合并工作表" 的所有需要拼接的单元格。这样,Excel 就会将第一个工作表的内容逐个拼接到新工作表中。接着,再在新工作表的下一行 A1 单元格中输入公式:
```
=Sheet2!A1
```
将该公式拖选填充至需要拼接的单元格。依此类推,继续为其他工作表的内容输入公式,直到所有工作表的内容都被拼接到新工作表中。
无论是使用 VBA 宏还是公式,都可以实现 Excel 中逐个拼接工作表内容的功能。
阅读全文