gpt4 book ai didi

excel - 我希望将多张工作表合并为一张合并工作表

转载 作者:行者123 更新时间:2023-12-04 20:10:37 26 4
gpt4 key购买 nike

想创建一个宏来遍历工作簿中的所有工作表并从每个工作表中选择所有数据,然后将所述数据粘贴到“主”工作表上的单个合并表中。所有工作表都有相同的列标题到“AB”列。

目前尝试使用此代码,但我无法将任何内容粘贴到主工作表上。可能会过度考虑设置每个选项卡的范围。

只是寻找一个简单的解决方案来复制每个工作表中的所有事件数据并将其粘贴到一个工作表中,以便将其全部合并。

提前致谢!

Sub CombineData()
Dim wkstDst As Worksheet
Dim wkstSrc As Worksheet
Dim WB As Workbook
Dim rngDst As Range
Dim rngSrc As Range
Dim DstLastRow As Long
Dim SrcLastRow As Long

'Refrences
Set wkstDst = ActiveWorkbook.Worksheets("Master")


'Setting Destination Range
Set rngDst = wkstDst.Cells(DstLastRow + 1, 1)

'Loop through all sheets exclude Master
For Each wkstSrc In ThisWorkbook.Worksheets
If wkstSrc.Name <> "Master" Then

SrcLastRow = LastOccupiedRowNum(wkstSrc)
With wkstSrc
Set rngSrc = .Range(.Cells(2, 1), .Cells(SrcLastRow, 28))
rngSrc.Copy Destination:=rngDst
End With

DstLastRow = LastOccupiedRowNum(wkstDst)
Set rngDst = wkstDst.Cells(DstLastRow + 1, 1)

End If

Next wkstSrc


End Sub

最佳答案

将另一种方法加入其中。这确实假设您正在复制的数据在 A 列中的行数与在任何其他列中的行数一样多。它不需要你的功能。

Sub CombineData()

Dim wkstDst As Worksheet
Dim wkstSrc As Worksheet
Dim rngSrc As Range

Set wkstDst = ThisWorkbook.Worksheets("Master")

For Each wkstSrc In ThisWorkbook.Worksheets
If wkstSrc.Name <> "Master" Then
With wkstSrc
Set rngSrc = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp)).Resize(, 28)
rngSrc.Copy Destination:=wkstDst.Cells(Rows.Count, 1).End(xlUp)(2)
End With
End If
Next wkstSrc

End Sub

关于excel - 我希望将多张工作表合并为一张合并工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49638371/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com