シート名の配列があります。私は、別のファイルからデータをコピーして、それぞれのワークシートにデータを貼り付けたいと思います。しかし、それはシートを見つけることはありません。それは、この段階でエラーが作成されます。ここではVBA Excelでワークシートを検索して有効にする
worksheets.(sheets(i)).Activate
は私のコードです:。
Sub NewWorkshet()
Dim criteria(40) As Integer
Dim i As Integer
Dim MyFile As String
MyFile = Application.GetOpenFilename()
criteria(0) = 335
criteria(1) = 336
criteria(2) = 337
criteria(3) = 338
criteria(4) = 339
criteria(5) = 351
criteria(6) = 392
criteria(7) = 393
Dim sheets As Variant
sheets = Array(a335, a336, a337, a338, a339, a351, a392, a393)
For i = 0 To 7
' Remove Filter
Windows("firstbook.xlsx").Activate
ActiveSheet.Range("$A$1:$S$6274").AutoFilter Field:=17
Workbooks.Open (MyFile)
Worksheets("first").Select
ActiveSheet.Range("$A$1:$O$3339").AutoFilter Field:=2, Criteria1:=criteria(i)
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("firstbook").Activate
Worksheets("sheets(i)").Select
Range("B2").Select
Selection.End(xlDown).Select
Selection.Offset(1, -1).Select
ActiveSheet.Paste
Workbooks(MyFile).Close SaveChanges:=False
Next i
End Sub
ナイルズご理解ください。シート名が「a335」、「a336」などの「firstbook」というブックがあり、ブックの範囲をコピーしたいのですか?別のワークブックと同じ名前のシートを作成しますか? – micstr