0
範囲(A3)から各ブックのテーブルの最後まで複数のシートをコピーしたいので、次のコードを使用しましたが、シート全体がコピーされます。vbaを使用してセルの範囲を新しいワークブックにコピーする
Private Sub Copytonewworkbook_Click()
Dim NewName As String
Dim nm As name
Dim ws As Worksheet
If MsgBox("Copy specific sheets to a new workbook" & vbCr & _
"New sheets will be pasted" , vbYesNo, "NewCopy") = vbNo Then
Exit Sub
With Application
.ScreenUpdating = False
On Error GoTo ErrCatcher
Sheets(Array("Payroll", " Bank Letter")).Copy
On Error Resume Next
For Each ws In ActiveWorkbook.Worksheets
ws.Cells(3,33)Paste:=xlCellTypeFormulas
Application.CutCopyMode = False
Cells(1, 1).Select
ws.Activate
Next ws
Cells(1, 1).Select
For Each nm In ActiveWorkbook.Names
nm.Delete
Next nm
NewName = InputBox("Please Specify the name of your new workbook", "New Copy")
ActiveWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & NewName & ".xls"
ActiveWorkbook.Close SaveChanges:=False
.ScreenUpdating = True
End With
Exit Sub
ErrCatcher:
MsgBox "Specified sheets do not exist within this workbook"
End Sub
おかげVityata、同じワークブックの準備シートにコピーし、この良い方法が、何私がやりたいことはあります(ws.Cells(3,33)Paste:= xlCellTypeFormulas) –
@NabilAmer - 参照してください。このコードでは、特定の範囲にある複数のシートを新しいブックにコピーします。版。一般的には、よりスマートな方法がありますが、コード全体を変更する必要があります。実際には15分の仕事です。 – Vityata
可能であれば、私のコードに変更を加えてください –