|
▼popopo さん:
>日毎のシートリンク作成のため、下記のVBAをサイトから検索して作成しました。
>もとのブックが3メガと大きいため、シートの値と書式だけをコピーしたいと考えています。
>しかし、このVBAを実行するとSheetのVBAもコピーされるし、計算式もコピーされて、2M程度の大きいブックとなってしまいます。
>どうかお助け願います。
先に新しいBookを作っておいて
Sheetの値 と書式 だけとすると・・・
Option Explicit
Sub Test()
Dim wb1 As Workbook, wb2 As Workbook
Dim ws As Worksheet
Dim 日付 As String
Dim i As Integer
Set wb1 = ThisWorkbook
Set wb2 = Workbooks.Add(xlWBATWorksheet)
wb2.Worksheets.Add After:=Worksheets(1)
日付 = wb1.Worksheets(1).Range("A1").Value
i = 1
For Each ws In wb1.Worksheets(Array("Sheet1", "Sheet3"))
ws.Cells.Copy
With wb2.Worksheets(i)
'値
.Range("A1").PasteSpecial Paste:=xlValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'書式
.Range("A1").PasteSpecial Paste:=xlFormats, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'Sheet名
.Name = ws.Name
Application.CutCopyMode = False
End With
i = i + 1
Next ws
wb2.SaveAs "D:\仕事\" & 日付 & ".xls"
wb2.Close
Set wb1 = Nothing
Set wb2 = Nothing
End Sub
|
|