ExcelマクロVBA入門 | 第41回.セルのコピー&値の貼り付け(PasteSpecial) | Excelマクロの基礎と応用、エクセルVBAの入門・初級・初心者向け解説



最終更新日:2013-05-15

第41回.セルのコピー&値の貼り付け(PasteSpecial)


値の貼り付けと題しましたが、値だけではなく、


「形式を選択して貼り付け」のいろいろな指定方法です。



Range.PasteSpecial(Paste, Operation, SkipBlanks, Transpose)

名前 指定値 説明
Paste xlPasteAll すべてを貼り付けます。
xlPasteAllExceptBorders 輪郭以外のすべてを貼り付けます。
xlPasteAllMergingConditionalFormats すべてを貼り付け、条件付き書式をマージします。
xlPasteAllUsingSourceTheme ソースのテーマを使用してすべてを貼り付けます。
xlPasteColumnWidths コピーした列の幅を貼り付けます。
xlPasteComments コメントを貼り付けます。
xlPasteFormats コピーしたソースの形式を貼り付けます。
xlPasteFormulas 数式を貼り付けます。
xlPasteFormulasAndNumberFormats 数式と数値の書式を貼り付けます。
xlPasteValidation 入力規則を貼り付けます。
xlPasteValues 値を貼り付けます。
xlPasteValuesAndNumberFormats 値と数値の書式を貼り付けます。
Operation xlPasteSpecialOperationAdd コピーしたデータは、対象セルの値に追加されます。
xlPasteSpecialOperationDivide コピーしたデータは、対象セルの値によって分割されます。
xlPasteSpecialOperationMultiply コピーしたデータには、対象セルの値が掛けられます。
xlPasteSpecialOperationNone 貼り付け操作で計算は行われません。
xlPasteSpecialOperationSubtract コピーしたデータは、対象セルの値が引かれます。
SkipBlanks バリアント型 (Variant) クリップボードに含まれる空白のセルを貼り付けの対象にしないようにするには、True を指定します。既定値は False です。
Transpose バリアント型 (Variant) 貼り付けのときにデータの行と列を入れ替えるには、True を指定します。既定値は False です。


値の貼り付けなら、


Worksheets("Sheet1").Range("A1:B10").Copy

Worksheets("Sheet2").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False


となります。



前回のPasteとは違い、アクティブシート以外にも貼り付けが可能です


従って、


Paste:=xlPasteAll


なら、セルの全てがコピーされるので、こちらでも同じです。

Sheets("Sheet1").Select

Range("A1:B10").Copy
Sheets("Sheet2").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False

Sheets("Sheet1").Range("A1:B10").Copy Destination:=Sheets("Sheet2").Range("A1")

Sheets("Sheet1").Range("A1:B10").Copy
Sheets("Sheet2").Range("A1").PasteSpecial Paste:=xlPasteAll


これら3つのコードは、同じことをしています。



よく使うものとしては、


Paste:=xlPasteValues ・・・ 値を貼り付け

Transpose:=True ・・・ 行と列を入れ替え


このあたりは、しっかり使えるようにしておきましょう。





同じテーマ「ExcelマクロVBA入門」の記事

第42回.セルをコピーするとは
第43回.総合練習問題5
第44回.VBA関数について
第45回.VBA関数(Format)
第46回.VBA関数(日付,DateAdd)
第47回.VBA関数(文字列操作,Replace,InStr,StrConv)
第48回.VBA関数(その他,Fix,Int,Rnd,Round,IsEmpty)

新着記事 ・・・新着記事一覧を見る

SUMIFの間違いによるパフォーマンスの低下について|エクセル関数超技(6月17日)
条件式のいろいろな書き方:TrueとFalseの判定とは|ExcelマクロVBA技術解説(6月15日)
空白セルを正しく判定する方法2|ExcelマクロVBA技術解説(5月6日)
フルパスをディレクトリ、ファイル名、拡張子に分ける|ExcelマクロVBA技術解説(4月15日)
テキストボックスの各種イベント|Excelユーザーフォーム入門(4月9日)
フォルダ(サブフォルダも全て)削除する、Optionでファイルのみ削除|ExcelマクロVBAサンプル集(4月4日)
最後の空白(や指定文字)以降の文字を取り出す|エクセル関数超技(3月26日)
先頭の数値、最後の数値を取り出す|エクセル関数超技(3月26日)
Excelファイルを開かずにシート名をチェック|ExcelマクロVBAサンプル集(3月23日)
数式の参照しているセルを取得する|ExcelマクロVBAサンプル集(3月18日)

アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|ExcelマクロVBA入門
2.RangeとCellsの使い方|ExcelマクロVBA入門
3.Range以外の指定方法(Cells,Rows,Columns)|ExcelマクロVBA入門
4.変数とデータ型(Dim)|ExcelマクロVBA入門
5.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
6.セルのコピー&値の貼り付け(PasteSpecial)|ExcelマクロVBA入門
7.定数と型宣言文字(Const)|ExcelマクロVBA入門
8.セルの参照範囲を可変にする(OFFSET,COUNTA,MATCH)|エクセル関数超技
9.CSVの読み込み方法|ExcelマクロVBAサンプル集
10.ひらがな⇔カタカナの変換|エクセル基本操作



  • >
  • >
  • >
  • セルのコピー&値の貼り付け(PasteSpecial)

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。

    ↑ PAGE TOP