Я хотел бы скопировать несколько рабочих листов (например, Sheet71, Sheet76, Sheet60 и Sheet77), которые находятся в одной рабочей книге, в другую рабочую книгу, чтобы отправить электронное письмо получателю, которое указано в моем листе ключей электронной почты на листе.71.
Эти электронные письма будут отправлены отдельным лицам с описанием их бонусной выплаты.
Поэтому очень важно, чтобы получатели получали только своих или тех, за кого они несут ответственность.
Я выяснил, как отправить один лист на одного получателя, но не могу понять, как это сделать с несколькими листами без использования имени на листе (матрица Пирса, Матрица Шаффа, Матрица Гэмбла и Матрица Рида) по сравнению сSheet71, Sheet76, Sheet60 и Sheet77 в VBA.
Мне нужно иметь возможность ссылаться в макросе на номер листа, а не на имя, потому что происходит оборот.
Ниже приведенкод, который я написал, чтобы отправить электронное письмо одному человеку на листе электронной почты (Sheet81) с одним листом, но он отправляет только лист 71.
Я пробовал ключевое слово Array и несколько других ключевых слов, но не могу заставить его работать.
Мне нужно сослаться наНомер листа, а не имя листа, потому что имена меняются при замене людей.
Я бы предпочел сделать копию, как показано в приведенном ниже коде, но я открыт, чтобы попробовать команду Select, если это сработает.
Sub Mail()
Dim OutlookApp As Object
Dim Mess As Object, Recip
Recip = Sheet81.[C35].Value
newDate = MonthName(Month(DateAdd("m", -1, Date)), False)
' Make a copy of the active worksheet
' and save it to a temporary file
Sheet71.Copy
Set WB = ActiveWorkbook
Filename = WB.Worksheets(1).Name
On Error Resume Next
Kill "C:\" & Filename
On Error GoTo 0
WB.SaveAs Filename:="C:\" & Filename
Set OutlookApp = CreateObject("Outlook.Application")
Set Mess = OutlookApp.CreateItem(olMailItem)
With Mess
.Subject = (newDate + " Matrix")
.Body = ("Attached is your " + newDate + " bonus matrix. Thanks! Neil")
.to = Recip
.Attachments.Add WB.FullName
.Display
.Send
End With
ActiveWorkbook.Close
Set OutlookApp = Nothing
Set Mess = Nothing
End Sub