通过参考从中复制数据的选项卡,将来自不同选项卡的数据整理到单个选项卡

问题描述 投票:-1回答:1

我有一个appx 20-25工作表的工作簿。我想只将每个工作表的第4行的已填充行复制到单个工作表 - “整理”以及源工作表的名称(从中复制数据)。在Collat​​e工作表中,只应复制每个工作表中的已填充行(以及第一列中的工作表名称)。有人可以建议/提供vba代码来实现上述目标。

excel-vba collation
1个回答
0
投票

我已将此任务分解为2个函数/子例程。一个函数,在每个选项卡中添加带有选项卡名称的列 - Dim WS As Worksheet DIM LASTROW As Long on Error Resume Next for Each WS in Sheets如果WS.Name <>“Master”和WS.Name <>“Collat​​e “然后使用WS LASTROW = .Range(”A“和Rows.Count).End(xlUp).Row .Columns(1).Insert .Range(”A1:A“&LASTROW)= WS.Name End With End If下一个WS B.接受否的功能。标题行和整理下一行(标题行数+ 1)的数据(包括标题名称添加的列) - Dim I As Integer Dim xTCount As Variant Dim xWs As Worksheet On Error Resume Next LInput:xTCount = Application.InputBox(“标题行数”,“”,“1”)如果TypeName(xTCount)=“Boolean”则退出Sub如果不是IsNumeric(xTCount)则MsgBox“只能输入数字”,“输入标题行“GoTo LInput End如果设置xWs = ActiveWorkbook.Worksheets.Add(表格(1))xWs.Name =”Master“工作表(2).Range(”A1“)。EntireRow.Copy目的地:= xWs.Range(” A1“)For I = 2 To Worksheets.Count Worksheets(I).Range(”A1“)。CurrentRegion.Offset(CInt(xTCount),0).Copy _ Destination:= xWs.Cells(xWs.UsedRange.Cells( xWs.UsedRange.Count).Row + 1,1)Next

© www.soinside.com 2019 - 2024. All rights reserved.