Range.PasteSpecial メソッド

本ページには広告が含まれています。

指定された範囲にコピーされたRangeオブジェクトを貼り付けます。セルの内容をコピーするにはRange.Copy メソッドを使います。

構文
Range.PasteSpecial( Paste, Operation, SkipBlanks, Transpose )
引数
Paste (XlPasteType省略可
XlPasteAllやxlPasteValuesなど、貼り付ける範囲の部分を指定します。
Operation (XlPasteSpecialOperation省略可
XlPasteSpecialOperationAddなどの貼り付け操作。
SkipBlanks 省略可
Trueを指定すると、クリップボードの範囲内の空白セルが貼り付け先の範囲に貼り付けられません。既定値はFalseです。「空白セルを無視する」。
Transpose 省略可
Trueを指定すると、行と列が貼り付けられます。既定値はFalseです。「行/列の入れ替え」。
戻り値

Range オブジェクトを返すメソッド・プロパティ

Range オブジェクト
セル、行、列、連続した1つ以上のセル範囲を表します。
Application.ActiveCell プロパティ
セルまたはセル範囲を表すRangeオブジェクトを返します。
Application.Cells プロパティ
作業中のワークシートのすべてのセルを表すRange オブジェクトを返します。
Range.PasteSpecial メソッド
セル、行、列、連続した1つ以上のセル範囲を表します。
Application.Selection プロパティ
Applicationオブジェクトのアクティブなワークシートで現在選択されているオブジェクトを返します。
Range.PasteSpecial メソッド
指定した条件に一致する最初のセルを検索します。
Range.PasteSpecial メソッド
Findメソッドによって開始された検索を続行します。前回の検索条件に一致するセルを、下方向(行のときは左から右、列のときは上から下)に検索し、見つかったセル(Rangeオブジェクト)を返します。選択範囲やアクティブセルには影響はありません。
Range.PasteSpecial メソッド
範囲内のセルから特定の条件に一致するRange オブジェクトを返します。条件は、セルの種類(数値、テキスト、エラーなど)やセルの状態(空白、定数、数式など)に基づいて指定することができます。
Range.PasteSpecial メソッド
指定した範囲の列を表すRange オブジェクトを返します。
Range.PasteSpecial メソッド
現在の領域を表すRange オブジェクトを返します。
Range.PasteSpecial メソッド
対象セル範囲の領域における終端のRange オブジェクトへの参照を返します。
Range.PasteSpecial メソッド
指定された範囲を含む1つまたは複数の列全体を表すRange オブジェクトを返します。読み取り専用です。
Range.PasteSpecial メソッド
指定されたセル範囲を含む行全体を表すRange オブジェクトを返します。読み取り専用です。
Range.PasteSpecial メソッド
指定したセル範囲のオフセット値で指定される範囲を表すRange オブジェクトを返します。
Range.PasteSpecial メソッド
指定された範囲からオフセットした範囲を表すRange オブジェクトを返します。
Range.PasteSpecial メソッド
指定された範囲のサイズを変更します。サイズが変更されたセル範囲を表すRange オブジェクトを返します。
Range.PasteSpecial メソッド
指定した範囲の行を表すRange オブジェクトを返します。
Worksheet.Range プロパティ
セル、行、列、連続した1つ以上のセル範囲を表します。

定数一覧

XlPasteType 列挙

XlPasteType.png
名前説明
xlPasteValues-4163
xlPasteComments-4144コメント
xlPasteFormulas-4123数式
xlPasteFormats-4122書式
xlPasteAll-4104すべて
xlPasteValidation6入力規則
xlPasteAllExceptBorders7罫線を除くすべて
xlPasteColumnWidths8列幅
xlPasteFormulasAndNumberFormats11数式と数値の書式
xlPasteValuesAndNumberFormats12値と数値の書式
xlPasteAllUsingSourceTheme13コピー元のテーマを使用してすべてを貼り付け
xlPasteAllMergingConditionalFormats14すべての結合されている条件付き書式
UWSC
CONST xlPasteValues = -4163
CONST xlPasteComments = -4144
CONST xlPasteFormulas = -4123
CONST xlPasteFormats = -4122
CONST xlPasteAll = -4104
CONST xlPasteValidation = 6
CONST xlPasteAllExceptBorders = 7
CONST xlPasteColumnWidths = 8
CONST xlPasteFormulasAndNumberFormats = 11
CONST xlPasteValuesAndNumberFormats = 12
CONST xlPasteAllUsingSourceTheme = 13
CONST xlPasteAllMergingConditionalFormats = 14

XlPasteSpecialOperation 列挙

XlPasteType.png
名前説明
xlPasteSpecialOperationNone-4142なし
xlPasteSpecialOperationAdd2加算
xlPasteSpecialOperationSubtract3減算
xlPasteSpecialOperationMultiply4乗算
xlPasteSpecialOperationDivide5除算
UWSC
CONST xlPasteSpecialOperationNone = -4142
CONST xlPasteSpecialOperationAdd = 2
CONST xlPasteSpecialOperationSubtract = 3
CONST xlPasteSpecialOperationMultiply = 4
CONST xlPasteSpecialOperationDivide = 5

形式を選択して貼り付け

「すべて」貼り付け

セルA1をコピーし、形式は「すべて」でセルC1に貼り付けます。

UWSC
CONST xlPasteAll = -4104

WITH Excel
	.Range("A1").Copy
	.Range("C1").PasteSpecial(xlPasteAll)
ENDWITH

「数式」のみ貼り付け

セルA1をコピーし、形式は「数式」でセルC1に貼り付けます。

UWSC
CONST xlPasteFormulas = -4123

WITH Excel
	.Range("A1").Copy
	.Range("C1").PasteSpecial(xlPasteFormulas)
ENDWITH

「値」のみ貼り付け

セルA1をコピーし、形式は「値」でセルC1に貼り付けます。

UWSC
CONST xlPasteValues = -4163

WITH Excel
	.Range("A1").Copy
	.Range("C1").PasteSpecial(xlPasteValues)
ENDWITH

「書式」のみ貼り付け

セルA1をコピーし、形式は「書式」でセルC1に貼り付けます。

UWSC
CONST xlPasteFormats = -4122

WITH Excel
	.Range("A1").Copy
	.Range("C1").PasteSpecial(xlPasteFormats)
ENDWITH

「コメント」のみ貼り付け

セルA1をコピーし、形式は「コメント」でセルC1に貼り付けます。

UWSC
CONST xlPasteComments = -4144

WITH Excel
	.Range("A1").Copy
	.Range("C1").PasteSpecial(xlPasteComments)
ENDWITH

「入力規則」のみ貼り付け

セルA1をコピーし、形式は「入力規則」でセルC1に貼り付けます。

UWSC
CONST xlPasteValidation = 6

WITH Excel
	.Range("A1").Copy
	.Range("C1").PasteSpecial(xlPasteValidation)
ENDWITH

「コピー元のテーマを使用してすべてを貼り付け」で貼り付け

セルA1をコピーし、形式は「コピー元のテーマを使用してすべてを貼り付け」でセルC1に貼り付けます。

UWSC
CONST xlPasteAllUsingSourceTheme = 13

WITH Excel
	.Range("A1").Copy
	.Range("C1").PasteSpecial(xlPasteAllUsingSourceTheme)
ENDWITH

「罫線を除くすべて」で貼り付け

セルA1をコピーし、形式は「罫線を除くすべて」でセルC1に貼り付けます。

UWSC
CONST xlPasteAllExceptBorders = 7

WITH Excel
	.Range("A1").Copy
	.Range("C1").PasteSpecial(xlPasteAllExceptBorders)
ENDWITH

「列幅」のみ貼り付け

セルA1をコピーし、形式は「列幅」でセルC1に貼り付けます。

UWSC
CONST xlPasteColumnWidths = 8

WITH Excel
	.Range("A1").Copy
	.Range("C1").PasteSpecial(xlPasteColumnWidths)
ENDWITH

「数式と数値の書式」で貼り付け

セルA1をコピーし、形式は「数式と数値の書式」でセルC1に貼り付けます。

UWSC
CONST xlPasteFormulasAndNumberFormats = 11

WITH Excel
	.Range("A1").Copy
	.Range("C1").PasteSpecial(xlPasteFormulasAndNumberFormats)
ENDWITH

「値と数値の書式」で貼り付け

セルA1をコピーし、形式は「値と数値の書式」でセルC1に貼り付けます。

UWSC
CONST xlPasteValuesAndNumberFormats = 12

WITH Excel
	.Range("A1").Copy
	.Range("C1").PasteSpecial(xlPasteValuesAndNumberFormats)
ENDWITH

参考文献

  1. Range.PasteSpecial メソッド (Excel) | Microsoft Learn

関連記事

Range オブジェクト
セル、行、列、連続した1つ以上のセル範囲を表します。
Application.ActiveCell プロパティ (Excel)
セルまたはセル範囲を表すRangeオブジェクトを返します。
Application.Cells プロパティ (Excel)
作業中のワークシートのすべてのセルを表すRange オブジェクトを返します。
Range.Activate メソッド (Excel)
1つのセルをアクティブにします。セルは現在の選択範囲内にある必要があります。セルの範囲を選択するには、Selectメソッドを使用します。
Range.AutoFill メソッド (Excel)
指定された対象セル範囲内のセルに対してオートフィルを実行します。
Range.AutoFilter メソッド (Excel)
オートフィルターを使ってリストをフィルター処理します。
Range.ClearHyperlinks メソッド (Excel)
指定された範囲からすべてのハイパーリンクを削除します。
Range.Copy メソッド (Excel)
範囲を、指定の範囲またはクリップボードにコピーします。
Range.DiscardChanges メソッド (Excel)
編集されたセル範囲内のすべての変更を破棄します。
Range.NumberFormatLocal プロパティ (Excel)