如何拆分工作表并返回基础信息表

动态 未结 0 106
小小草
小小草 LV1 2023年9月23日 23:40 发表
以下是一个示例代码,可以拆分工作表并返回基础信息表: Sub SplitAndReturnBaseInfo() '设置要拆分的工作表和拆分列 Dim ws As Worksheet: Set ws = ThisWorkbook.Worksheets("Sheet1") Dim splitColumn As String: splitColumn = "A" '创建基础信息表 Dim baseWs As Worksheet: Set baseWs = ThisWorkbook.Worksheets.Add(After:=ws) baseWs.Name = "Base Info" baseWs.Range("A1").Value = "Sheet Name" baseWs.Range("B1").Value = "Start Row" baseWs.Range("C1").Value = "End Row" '获取拆分列的最后一行 Dim lastRow As Long: lastRow = ws.Cells(ws.Rows.Count, splitColumn).End(xlUp).Row '循环拆分并记录基础信息 Dim i As Long For i = 2 To lastRow '从第二行开始,因为第一行是标题 '获取当前行的拆分值和工作表名称 Dim cell As Range: Set cell = ws.Range(splitColumn & i) Dim splitValue As String: splitValue = cell.Value Dim sheetName As String: sheetName = "Sheet_" & splitValue '记录基础信息 Dim startRow As Long: startRow = i Dim endRow As Long: endRow = ws.Cells(i, ws.Columns.Count).End(xlToLeft).Column ws.Range("A" & i & ":" & ws.Cells(i, endRow).Address).Copy Destination:=baseWs.Range("A" & i) baseWs.Range("B" & i).Value = startRow baseWs.Range("C" & i).Value = endRow '创建新工作表并复制数据 Dim newWs As Worksheet: Set newWs = ThisWorkbook.Worksheets.Add(After:=ws) newWs.Name = sheetName ws.Range("A1:" & ws.Cells(1, endRow).Address).Copy Destination:=newWs.Range("A1") ws.Range("A" & i & ":" & ws.Cells(i, endRow).Address
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复