未找到多个图纸成员或数据成员中的VBA复制范围
当我试图让这个脚本在4张纸中的每一张上运行时,我似乎迷失了方向。基本上,尝试将一个静态范围(按行)从列出的4张图纸中的每一张复制到另一个范围,作为硬代码,具体取决于用户的下拉选择(定义为未找到多个图纸成员或数据成员中的VBA复制范围,vba,excel,Vba,Excel,当我试图让这个脚本在4张纸中的每一张上运行时,我似乎迷失了方向。基本上,尝试将一个静态范围(按行)从列出的4张图纸中的每一张复制到另一个范围,作为硬代码,具体取决于用户的下拉选择(定义为Month1&Month2)。但随之而来的错误是 “找不到数据成员” 在sheetsArray.Cells行。“宏”表是存储下拉列表的地方,所以我相信我必须以这种方式引用定义的命名范围 Sub copyColumns() Dim months, m1, m2, sourceSht Dim Msg As Stri
Month1
&Month2
)。但随之而来的错误是
“找不到数据成员”
在sheetsArray.Cells
行。“宏”表是存储下拉列表的地方,所以我相信我必须以这种方式引用定义的命名范围
Sub copyColumns()
Dim months, m1, m2, sourceSht
Dim Msg As String, Ans As Variant
Dim sheetsArray As Sheets
Dim sheetObject As Worksheet
Msg = "Are you sure you want to copy/paste over to Early Warning?"
Ans = MsgBox(Msg, vbYesNo)
Select Case Ans
Case vbYes
months = Split("Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec", ",")
Set sheetsArray = ActiveWorkbook.Sheets(Array("HRM", "SRM", "NRM", "Corp"))
Set sourceSht = Worksheets("Macros")
m1 = Application.Match(sourceSht.Range("Month1").Value, months, 0)
m2 = Application.Match(sourceSht.Range("Month2").Value, months, 0)
For Each sheetObject In sheetsArray
sheetsArray.Range(sheetsArray.Cells(35, 4 + m1), sheetsArray.Cells(376, 4 + m2)).Copy
sheetsArray.Range(sheetsArray.Cells(35, 17 + m1), sheetsArray.Cells(376, 17 + m2)).PasteSpecial xlValues
Next sheetObject
Case vbNo
GoTo Quit:
End Select
Quit:
End Sub
在开始时,尝试将
SheetsArray
重新声明为Variant
,并为其指定一些值:
Dim sheetObject As Variant
Dim sheetsArray As Variant
sheetsArray = Array("HRM", "SRM", "NRM", "Corp")
删除此行:
Set sheetsArray = ActiveWorkbook.Sheets(Array("HRM", "SRM", "NRM", "Corp"))
然后更改此选项:
sheetsArray.Range(sheetsArray.Cells(35, 4 + m1), sheetsArray.Cells(376, 4 + m2)).Copy
为此:
With worksheets(sheetobject)
.Range(.Cells(35, 4 + m1), .Cells(376, 4 + m2)).Copy
End With
只需将循环中的两行更改为
For Each sheetObject In sheetsArray
with sheetObject
.Range(.Cells(35, 4 + m1), .Cells(376, 4 + m2)).Copy
.Range(.Cells(35, 17 + m1), .Cells(376, 17 + m2)).PasteSpecial xlValues
end with
Next sheetObject
使用此方法似乎仍然会遇到相同的错误。对不起,在键入答案时,我接到了一个电话,没有仔细检查。我已经编辑了我的回答,给出了一个“424对象必需”错误,其中“对于sheetsArray中的每个sheetObject”是。
将sheetObject作为变量变暗。
,@AspiringDeveloper