我将工作表重命名为“ 1”,“ 2”,“ 3”,...,“ 31”。我需要一个代码来基于间隔值选择重命名的工作表,该间隔值将在名为“电子邮件摘要”的工作表的两个单元格上提供。因此,例如,单元格L13的值为1而M13的值为5,该代码会将名为“ 1”,“ 2”,...,“ 5”的工作表复制到新工作簿中。如果单元格L13和M13的值分别为8和15,则代码会将名为“ 8”,“ 9”,...,“ 15”的工作表复制到新工作簿中。
答案 0 :(得分:0)
您可以尝试入门。我已经对其进行了一些编辑,以使其能够正常工作:)和b),因为工作表名称作为数字给VB带来了一些问题。
Sub copy_stuff()
Dim intshName As Long, thatbook As Workbook, strshName As String
Set thatbook = Workbooks.Add
On Error Resume Next
For intshName = ThisWorkbook.Sheets("Email Summary").Range("L13").Value _
To ThisWorkbook.Sheets("Email Summary").Range("L15").Value
strshName = Trim(Str(intshName))
ThisWorkbook.Sheets(strshName).Copy after:=thatbook.Sheets(1)
Next intshName
On Error GoTo 0
End Sub