[ Excel-VBA ] セルの値のみコピー ( 形式を選択してコピー )

Pocket

セルのコピーは、Copy メソッドを使用して行うことができます。ただし、デフォルトの動作は画面で行うコピーと同様に、セルの書式や色もそのままコピーされます。ここでは、エクセルの機能による形式を選択してコピー 「 値のみ 」 と同等の動作をさせるサンプルを掲載します。

Excel2013 で確認しましたが、コピー時に形式を選択することは出来ず、貼り付け時にのみ形式を選択することができるようです。この認識であってますか?

スポンサーリンク

セルのコピーを行う VBA のサンプルコード

特に帳票を作成するような場合には、テンプレートで体裁を整えて、値を貼り付けるだけにしたほうが良いでしょう。なんたってメンテも楽になります(個人の感想です)。

'
' セルをコピーする(セルの形式ごとコピー)
'
Private Sub CellCopy_Click()

    ' セルをコピーするにはCopyメソッドを使用する
    Range("B2").Copy Destination:=Range("C11")
    
End Sub

'
' セルの値のみコピーする
'
Private Sub ValueCopy_Click()
    
    ' セルの値はValueプロパティを使用する
    Range("F11").Value = Range("B2").Value

    ' 複数のセルの値をコピーするには以下のように
    ' 範囲指定する
    ' ※ 範囲は同じ大きさにする必要がある
    Range("D2:E3").Value = Range("G2:H3").Value
    
End Sub

実行結果

セルのコピー

セルのコピー確認用画面

参考
スポンサーリンク


Pocket

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>