|
>ShnameというSheetがActiveなWorkbookに存在しないのでは?
いいえ、存在します。MsgBoxで確認しています。
>Variant宣言しているのは、何か意図がありますか?
>Stringでは?
意図は、ありません。Stringにしました。
次のようにしました、現象は変わりません。
Sub シートのコピー()
Dim myBook As Workbook
Dim Bookname As String
Dim I As Long, j As Long
Dim Shname As String
For j = 4 To 10 Step 3
For I = 5 To 29 Step 2
Sheets("Menu").Select
If Cells(I, j).Value <> "" And Cells(I, j - 1).Value <> "" Then
Shname = Trim(Cells(I, j - 1).Value)
Exit For
End If
Next I
Next j
For Each myBook In Workbooks '開かれたBookのチェック
If myBook.Name = ThisWorkbook.Name Then
Else
Bookname = myBook.Name
Exit For
End If
Next
MsgBox (Bookname & " " & Shname)
Workbooks(Bookname).Worksheet(Shname).Select
やはり、上でこけます。
Sheets(Shname).Copy after:=Workbooks(Bookname).Sheets(1)
End Sub
|
|