
Excel VBA xlPasteValuesは、コピーしたセルの値だけを貼り付ける定数です。数式や書式を含まない、値のみの貼り付けを行う際に使用します。具体的な使い方や、注意点やサンプルコードを紹介します。
Excel VBAの資格でキャリアアップ!
就活や転職で有利になるVBAエキスパート資格を解説!
👉 VBAエキスパート資格のメリットを詳しく知る
Excel VBA xlPasteValuesを利用
以下のようなシーンで利用されます。
・数式を含むセルの計算結果のみを貼り付けたい。
・フォーマットやリンクを含まない値だけを他のセルに転記したい。
・大量のデータを処理する際に、書式設定や数式を無視して、値だけをコピーする必要がある。
Excel VBA xlPasteValues|使い方とポイント
Range.PasteSpecialメソッドと共に xlPasteValues を使用します。まず、コピー元のセルをコピーし、次に貼り付け先で PasteSpecial メソッドを使用して値のみを貼り付けます。
・コピー元セルの値のみを貼り付けるので、書式設定や数式は貼り付けられません。
・貼り付け先のセルには、元の書式がそのまま残ります。
Excel VBA xlPasteValuesのサンプルコード
Excel VBAの資格でキャリアアップ!
就活や転職で有利になるVBAエキスパート資格を解説!
👉 VBAエキスパート資格のメリットを詳しく知る
Option Explicit
Sub PasteValuesExample()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
' コピー元のセル範囲を選択してコピー
ws.Range("A1:B2").Copy
' 貼り付け先のセルを選択し、値のみを貼り付け
ws.Range("D1").PasteSpecial Paste:=xlPasteValues
' クリップボードをクリア
Application.CutCopyMode = False
End Sub
1.変数の宣言
・ws: Worksheet 型の変数。作業シートを保持します。
2.シートの指定
・Set ws = ThisWorkbook.Sheets("Sheet1"): Sheet1を操作シートとして設定します。
3.コピー元のセル範囲を選択してコピー
・ws.Range("A1:B2").Copy: A1からB2の範囲をコピーします。
4.貼り付け先のセルを選択し、値のみを貼り付け
・ws.Range("D1").PasteSpecial Paste:=xlPasteValues: D1セルを選択し、PasteSpecialメソッドを使用して値のみを貼り付けます。
5.クリップボードをクリア
・Application.CutCopyMode = False: クリップボードの内容をクリアします。
サンプルコードでは、xlPasteValuesを利用してセルの値だけを他のセルに貼り付ける方法を理解できます。
VBAマクロが書けるベースを作りたい方は、VBAエキスパート資格取得を挑戦してみてください。
VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。
下記から無料問題集ができます。
ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。
ExcelVBAエキスパートスタンダード
ExcelVBAの開発を仕事にする人が対象の問題集です。
Excel VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。