根据单元格值选择要复制到新工作表的工作表

时间:2018-12-06 18:22:02

标签: excel excel-vba

我将工作表重命名为“ 1”,“ 2”,“ 3”,...,“ 31”。我需要一个代码来基于间隔值选择重命名的工作表,该间隔值将在名为“电子邮件摘要”的工作表的两个单元格上提供。因此,例如,单元格L13的值为1而M13的值为5,该代码会将名为“ 1”,“ 2”,...,“ 5”的工作表复制到新工作簿中。如果单元格L13和M13的值分别为8和15,则代码会将名为“ 8”,“ 9”,...,“ 15”的工作表复制到新工作簿中。

1 个答案:

答案 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