参考从中复制数据的选项卡,将不同选项卡中的数据整理到单个选项卡
Collate data from different tabs to single tabs with reference of the tabs from which the data is copied
我有一个工作簿,大约有 20-25 个作业sheet。我只想将每个作品的第 4 行中的填充行 sheet 复制到单个 sheet - "Collate" 以及源作品的名称 sheet( 从哪里数据被复制)。在 Collate worksheet 中,仅应复制每个 worksheet 中填写的行(连同第一列中的 worksheet 名称)。有人可以 suggest/provide vba 代码来实现上述目标。
我把这个任务分成了2个functions/subroutines。
在每个选项卡中添加带有选项卡名称的列的函数 -
将 WS 调暗为工作表
LASTROW 一样长
出错继续下一步
对于表中的每个 WS
如果 WS.Name <> "Master" 并且 WS.Name <> "Collate" 那么
与 WS
LASTROW = .Range("A" & Rows.Count).End(xlUp).行
.Columns(1).Insert
.Range("A1:A" & LASTROW) = WS.Name
结束于
万一
下一个WS
B. 接受 no 的函数。 header 行并从下一行(第 header 行 + 1)开始整理数据(包括添加的带有选项卡名称的列)-
将我调暗为整数
将 xTCount 变暗为变体
将 xWs 调暗为工作表
出错继续下一步
L输入:
xTCount = Application.InputBox("The number of header rows", "", "1")
如果 TypeName(xTCount) = "Boolean" Then Exit Sub
如果不是 IsNumeric(xTCount) 那么
消息框 "Only can enter number", , "Enter Header Rows"
转到 LInput
万一
设置 xWs = ActiveWorkbook.Worksheets.Add(Sheets(1))
xWs.Name = "Master"
工作表(2).范围("A1").EntireRow.Copy 目的地:=xWs.Range("A1")
因为我 = 2 到 Worksheets.Count
工作表(I).Range("A1").CurrentRegion.Offset(CInt(xTCount), 0).Copy _
目的地:=xWs.Cells(xWs.UsedRange.Cells(xWs.UsedRange.Count).Row + 1, 1)
下一个
我有一个工作簿,大约有 20-25 个作业sheet。我只想将每个作品的第 4 行中的填充行 sheet 复制到单个 sheet - "Collate" 以及源作品的名称 sheet( 从哪里数据被复制)。在 Collate worksheet 中,仅应复制每个 worksheet 中填写的行(连同第一列中的 worksheet 名称)。有人可以 suggest/provide vba 代码来实现上述目标。
我把这个任务分成了2个functions/subroutines。 在每个选项卡中添加带有选项卡名称的列的函数 - 将 WS 调暗为工作表 LASTROW 一样长 出错继续下一步 对于表中的每个 WS 如果 WS.Name <> "Master" 并且 WS.Name <> "Collate" 那么 与 WS LASTROW = .Range("A" & Rows.Count).End(xlUp).行 .Columns(1).Insert .Range("A1:A" & LASTROW) = WS.Name 结束于 万一 下一个WS B. 接受 no 的函数。 header 行并从下一行(第 header 行 + 1)开始整理数据(包括添加的带有选项卡名称的列)- 将我调暗为整数 将 xTCount 变暗为变体 将 xWs 调暗为工作表 出错继续下一步 L输入: xTCount = Application.InputBox("The number of header rows", "", "1") 如果 TypeName(xTCount) = "Boolean" Then Exit Sub 如果不是 IsNumeric(xTCount) 那么 消息框 "Only can enter number", , "Enter Header Rows" 转到 LInput 万一 设置 xWs = ActiveWorkbook.Worksheets.Add(Sheets(1)) xWs.Name = "Master" 工作表(2).范围("A1").EntireRow.Copy 目的地:=xWs.Range("A1") 因为我 = 2 到 Worksheets.Count 工作表(I).Range("A1").CurrentRegion.Offset(CInt(xTCount), 0).Copy _ 目的地:=xWs.Cells(xWs.UsedRange.Cells(xWs.UsedRange.Count).Row + 1, 1) 下一个