我有一个带有appx 20-25工作表的工作簿。我只想将每个工作表中第4行的填充行复制到一个工作表中-“整理”以及源工作表的名称(从中复制数据)。在Collate工作表中,仅应复制每个工作表中已填写的行(以及第一列中的工作表名称)。有人可以建议/提供VBA代码来实现上述目标。
答案 0 :(得分:0)
我已将此任务分为2个函数/子例程。 在每个标签中添加带有标签名称的列的函数- 昏暗的WS作为工作表 昏暗的LASTROW只要 关于错误继续 对于工作表中的每个WS 如果WS.Name <>“ Master”和WS.Name <>“ Collate”,则 使用WS LASTROW = .Range(“ A”&Rows.Count).End(xlUp).Row .Columns(1)。插入 .Range(“ A1:A”&LASTROW)= WS.Name 结束于 万一 下一个WS B.接受否的功能。页眉行并整理从下一行(页眉行的数量+ 1)开始(包括添加的带有标签名称的列)的数据- 昏暗的我作为整数 Dim xTCount作为变体 昏暗的xWs作为工作表 关于错误继续 输入 xTCount = Application.InputBox(“标题行数”,“”,“ 1”) 如果TypeName(xTCount)=“ Boolean”,则退出Sub 如果不是IsNumeric(xTCount)则 MsgBox“只能输入数字”,“输入标题行” 转到LInput 万一 设置xWs = ActiveWorkbook.Worksheets.Add(Sheets(1)) xWs.Name =“大师” 工作表(2).Range(“ A1”)。EntireRow.Copy目标:= xWs.Range(“ A1”) 对于I = 2 To Worksheets.Count 工作表(I)。范围(“ A1”)。CurrentRegion.Offset(CInt(xTCount),0).Copy _ 目的地:= xWs.Cells(xWs.UsedRange.Cells(xWs.UsedRange.Count).Row + 1,1) 下一个