如何用VBA拆分相应的工作表并命名,返回sheet1

动态 未结 0 114
小小草
小小草 LV1 2023年9月23日 23:40 发表
以下是一个示例VBA代码,可以将一个工作表拆分成多个工作表,并按照指定的命名规则进行命名。最后返回第一个工作表(即Sheet1)。 ``` Sub SplitWorksheet() Dim ws As Worksheet Dim newWs As Worksheet Dim lastRow As Long Dim i As Long '获取当前工作表 Set ws = ActiveSheet '获取当前工作表的最后一行 lastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row '定义每个新工作表的行数 Const rowsPerSheet As Long = 100 '计算需要创建的新工作表数量 Dim numSheets As Long numSheets = Application.WorksheetFunction.Ceiling(lastRow / rowsPerSheet, 1) '循环创建新工作表并复制数据 For i = 1 To numSheets '创建新工作表 Set newWs = Worksheets.Add(After:=ws) '命名新工作表 newWs.Name = "Sheet" & i '复制数据到新工作表 ws.Range("A" & ((i - 1) * rowsPerSheet) + 1 & ":A" & (i * rowsPerSheet)).EntireRow.Copy Destination:=newWs.Range("A1") Next i '返回第一个工作表 Sheets("Sheet1").Activate End Sub ``` 在上述代码中,我们首先获取了当前活动的工作表,然后计算出需要创建的新工作表数量。接着,我们使用一个循环来创建新工作表,并将原始工作表中的数据复制到新工作表中。最后,我们返回第一个工作表(即Sheet1)。请注意,此代码仅适用于单列数据的情况。如果您需要拆分多列数据,请相应地修改代码。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复