Выбор листов для копирования на новый лист на основе значений ячейки - PullRequest
0 голосов
/ 06 декабря 2018

Листы переименованы в «1», «2», «3», ..., «31».Мне нужен код для выбора переименованных листов на основе значения интервала, которое будет предоставлено в двух ячейках на листе с именем «Сводка по электронной почте».так, например, значение ячейки L13 равно 1, а значение M13 равно 5, код будет копировать листы с именами «1», «2», ..., «5» в новую книгу.если значения ячеек L13 и M13 равны 8 и 15 соответственно, код скопирует листы с именами «8», «9», ..., «15» в новую рабочую книгу.

1 Ответ

0 голосов
/ 06 декабря 2018

Вы можете попробовать это для начала.Я немного отредактировал его, чтобы: а) заставить его работать на самом деле :) и б) потому что имена листов в виде чисел вызвали у 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
...