不能为循环分配数组错误

我想要这个代码过滤出一些不同的值,并将结果复制到一个新的电子表格中,将其保存为个人姓名(带有date),然后将其作为附件发送。 我有两个数组,一个包含名称,另一个包含电子邮件。

不过,我遇到了一些问题。 我得到一个错误'不能分配给数组':JCMails = Array(“x@rvant.co.uk”,“Y@rvant.co.uk”)。

Sub LOOKUP() Dim myFilename As String Dim JCNames(2) As String Dim JCMails(2) As String JCNames = Array("x", "Y") JCMails = Array("X@rvnt.co.uk", "Y@rvnt.co.uk") Dim i As Long Dim j As Integer j = 0 For i = 0 To UBound(JCNames) myFilename = JCNames(i) & Format(Now(), "ddmmyyyy") Range("G1").Select ActiveSheet.Range("A:N").AutoFilter Field:=7, Criteria1:=JCNames(i) With ActiveSheet lRows = .Cells(.Rows.Count, "B").End(xlUp).Row lCols = .Cells(1, .Columns.Count).End(xlToLeft).Column .Range(Cells(1, 1), Cells(lRows, lCols)).Copy End With Workbooks.Add Range("A1").Select ActiveSheet.Paste Columns.AutoFit ActiveWorkbook.SaveAs Filename:=myFilename, FileFormat:=xlOpenXMLWorkbook Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) On Error Resume Next With OutMail .To = JCMails(i) .CC = "" .BCC = "" .Subject = "delays for" & JCNames .Body = "Hi there" & JCNames .Attachments.Add ActiveWorkbook.FullName .Display 'or use .Display End With On Error GoTo 0 Set OutMail = Nothing Set OutApp = Nothing i = i + 1 j = j + 1 Next i end sub 

请有人能告诉我我的循环做错了什么? 🙁

Array返回一个包含数组的变体。 您需要将JCMails和JCNames简单地声明为Varianttypes – 而不是数组。