ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

セルの特定の要素のみをペーストする(PasteSpecial メソッド)

      2015/08/26

PasteSpecial メソッド

PasteSpecial メソッドは、Copy メソッドでコピーされたワークシート上の任意のセル・セル範囲の内容の特定の要素のみ(「値のみ」「列幅のみ」「書式のみ」など)をペーストする時に使用します。


【書式】

Object.PasteSpecial ( [ paste, operation, skipblanks, transpose ] )


引数・戻り値

  • object  ・・・  対象となるRange オブジェクト
  • paste  ・・・  貼り付ける要素を XlPasteType 列挙型 の定数で指定します。(下表参照
  • operation  ・・・  計算を伴う貼り付けの場合の計算方法を XlPasteSpecialOperation の定数で指定します。(下表参照
  • skipblanks  ・・・  クリップボードに含まれる空白のセルを貼り付けの対象にしないようにするには、True を指定します。既定値は False です。
  • transpose  ・・・  行と列を入れ替えて貼り付けるには、True を指定します。既定値は False です。


引数 paste(XlPasteType 列挙型の定数)

定数 内容
xlPasteValues -4163 値のみ
xlPasteComments -4144 コメントを貼り付けます。
xlPasteFormulas -4123 数式を貼り付け
xlPasteFormats -4122 コピーしたソースの形式を貼り付け
xlPasteAll -4104 すべてを貼り付け
xlPasteValidation 6 入力規則を貼り付け
xlPasteAllExceptBorders 7 輪郭以外のすべてを貼り付け
xlPasteColumnWidths 8 コピーした列の幅を貼り付け
xlPasteFormulasAndNumberFormats 11 数式と数値の書式を貼り付け
xlPasteValuesAndNumberFormats 12 値と数値の書式を貼り付け
xlPasteAllUsingSourceTheme 13 ソースのテーマを使用してすべてを貼り付け
xlPasteAllMergingConditionalFormats 14 すべてを貼り付け、条件付き書式をマージ


引数 operation(XlPasteSpecialOperationの定数)

定数 内容
xlPasteSpecialOperationNone -4142 計算は行われない
xlPasteSpecialOperationAdd 2 加算
xlPasteSpecialOperationSubtract 3 減算
xlPasteSpecialOperationMultiply 4 乗算
xlPasteSpecialOperationDivide 5 除算


引数 paste には1つの要素しか指定することができないので、複数の要素をコピーしたい場合は、その要素ごとに、PasteSpecial メソッドを実行します。
(例)列幅と書式をペースト
 Range(“A1”).copy
 Range(“B1”).PasteSpecial xlPasteColumnWidths
 Range(“B1”).PasteSpecial xlPasteFormats


書式が文字列であったり、先頭に「’」シングルコーテーションマークがついた数値が入力されているセルに対して、「空白セル」をコピーして、PasteSpecial メソッドで、引数 operation に、xlPasteSpecialOperationAdd を指定してその数値が入力されたセルにペーストすると、標準の書式に変更され、「’」シングルコーテーションマークも取り除かれます。


PasteSpecial メソッドの使用例

サンプルVBAソース


実行結果

サンプルVBA実行前

PasteSpecial メソッド01

サンプルVBA実行後

PasteSpecial メソッド02




 - セルの操作 , , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

VBA で、ワークシート関数を使用(WorksheetFunction プロパティ)

VBA で、ワークシと関数を使用 VBA から、ワークシート関数を呼び出す場合、 …

文字列をセル幅で折り返す(WrapText プロパティ)

WrapText プロパティ WrapText プロパティは、セルに表示されてい …

オートフィルタの状況を確認(AutoFilterMode, FilterMode)

AutoFilterMode プロパティ AutoFilterMode プロパテ …

行・列の表示・非表示(Hidden プロパティ)

Hidden プロパティ Hidden プロパティに True を設定することで …

次の検索(FindNext メソッド,FindPrevious メソッド)

FindNext メソッド Find メソッドで開始された検索を継続します。引数 …

現在選択されているセルを参照(RangeSelection プロパティ)

RangeSelection プロパティ 実際に何が選択されているかにかかわらず …

セル・セル範囲を貼り付ける(Paste メソッド)

Paste メソッド Paste メソッドは、クリップボードの内容を指定したセル …

オートフィルタ(日付・時刻のグループ化)AutoFilter メソッド

グループ化された日付や時刻で、レコードを抽出する Excel 2007 から日付 …

対象のセルが配列数式の一部かどうか(HasArray プロパティ)

HasArray プロパティ HasArray プロパティは、対象のセルが配列数 …

Goto メソッド
指定したセルへ移動(Goto メソッド)

指定したセルへ移動 指定したシートの指定したセルへジャンプするには、Goto メ …