出題内容
「Sheet1」のA1:C5のセル範囲を、「Sheet2」のA1:C5にコピーしてください。
数式は消して値でコピー、書式もコピーしてください。
※書式は「セルの書式設定」で設定可能なもの(ロックは除く)。
入力規則やメモ(旧コメント)は書式ではありません。
「ふりがな」は任意で
回答
自分の回答
Sub vba002()
Sheets("Sheet1").Range("A1:C5").Copy
Sheets("Sheet2").Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
End Sub
xlPasteValuesAndNumberFormats とすると数値の値と数値の書式が貼りつく。
セルの書式は貼りついていない。(塗りつぶし、罫線)
模範解答
一度書式を貼り付けた後に、値のみを貼り付ける。
Worksheets(""Sheet1"").Range(""A1:C5"").Copy
Worksheets(""Sheet2"").Range(""A1"").PasteSpecial Paste:=xlPasteFormats '書式
Worksheets(""Sheet2"").Range(""A1"").PasteSpecial Paste:=xlPasteValues '値
Application.CutCopyMode = False
値を代入するという書き方でもよい。
Worksheets(""Sheet2"").Range(""A1:C5"").Value = Worksheets(""Sheet1"").Range(""A1:C5"").Value