|
▼Rosy さん:
おはようございます。
>Worksheets("Sheet1").Copy
>
>そうすると、確かに新しいブックにコピーされるのですが、
>同じExcelウィンドウの中にできてしまいます。
>
>新しい、Excelウィンドウを作成させて、その中にシート
>をコピーしたいのですが、そのような方法をご存知でしたら
>御指南ください。
思いついたのは、
>Worksheets("Sheet1").Copy
でコピーされた新しいブックを一旦保存して
新たに起動されたExcelから読み込む方法
と
対象シートの全セルコピーを行い、
新たに起動されたExcelの新規ブックに貼り付ける方法
ですが。
'================================================================
Sub main()
'一旦保存して新たに読み込む
Dim excel_obj As Excel.Application
Set excel_obj = CreateObject("excel.application")
With excel_obj
.Visible = True
Worksheets(1).Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\book1.xls"
ActiveWorkbook.Close
Application.DisplayAlerts = True
.Workbooks.Open ThisWorkbook.Path & "\book1.xls"
End With
Set excel_obj = Nothing
End Sub
'================================================================
Sub main2()
Dim excel_obj As Excel.Application
Dim bk_obj As Workbook
Set excel_obj = CreateObject("excel.application")
With excel_obj
.Visible = True
ActiveWorkbook.Worksheets(1).Cells.Copy
Set bk_obj = .Workbooks.Add
bk_obj.ActiveSheet.Cells(1, 1).Activate
bk_obj.ActiveSheet.Paste
End With
Application.CutCopyMode = False
Set excel_obj = Nothing
Set bk_obj = Nothing
End Sub
どちらも一長一短ありますが・・・。
|
|