| 
    
     |  | 青朝顔 さん、おはようございます。 
 >>行高や列幅もペーストされるはずですが。
 >この方法でやってみましたが行高や列福はコピーできず巨大な
 >表ができてしまいました。
 
 行/列全体で選択していれば、大丈夫なはずなんですけどねぇ。
 
 上の手順をマクロにするとこんな感じです。複製したいシートを表示して実行してください。念のため、行列サイズ調整を入れたシートも作りますので、1と2で比較してみてください。
 Sub test()
 Dim ws1 As Worksheet, ws2 As Worksheet, II&
 '
 Set ws1 = ActiveSheet
 ws1.Unprotect '保護解除
 'コピペのみ(普通はこれで大丈夫のはず)
 Set ws2 = ws1.Parent.Worksheets.Add(before:=ws1)
 ws2.Name = ws1.Name & "の複製その1"
 ws1.Cells.Copy
 With ws2.Cells(1)
 .PasteSpecial Paste:=xlPasteFormulas
 .PasteSpecial Paste:=xlPasteFormats
 .Select
 End With
 Application.CutCopyMode = False
 'コピペ後、行/列調整
 Set ws2 = ws1.Parent.Worksheets.Add(before:=ws1)
 ws2.Name = ws1.Name & "の複製その2"
 ws1.Cells.Copy
 With ws2.Cells(1)
 .PasteSpecial Paste:=xlPasteFormulas
 .PasteSpecial Paste:=xlPasteFormats
 .Select
 End With
 Application.CutCopyMode = False
 With ws1.UsedRange
 '行高調整
 For II& = .Cells(1).Row To .Cells(.Count).Row
 ws2.Rows(II&).RowHeight = ws1.Rows(II&).RowHeight
 Next
 '列幅調整
 For II& = .Cells(1).Column To .Cells(.Count).Column
 ws2.Columns(II&).ColumnWidth = ws1.Columns(II&).ColumnWidth
 Next
 End With
 Set ws1 = Nothing: Set ws2 = Nothing
 End Sub
 
 
 |  |