即効テクニック |
引数を省略した場合、クリップボードの内容を指定したワークシートの選択範囲に貼り付けます。選択範囲以外に貼り付ける際にはDestinationで貼り付け先を指定します。また、引数LinkにTrueを指定するとリンク貼り付けもできますが、DestinationとLinkの併用はできません。 構文 Object.Paste(Destination, Link) 設定項目 内容 Object Worksheetオブジェクト Destination 貼り付け先のセル範囲を表すRangeオブジェクト [省略可能] Link リンク貼り付けをする(True)、しない(False) [省略可能]●サンプル●
Sub PasteSamp1() Range("A1").Copy Range("B2:B7").Select '----(1) ActiveSheet.Paste '----(2) ActiveSheet.Paste Destination:=Range("C2:C7") End Sub
(1)のステートメントは、選択範囲であるセルB2〜B7にCopyメソッドでコピーしたセルA1の内容を貼り付けています。このステートメントの前に貼り付け先の選択が必要です。(2)のステートメントはDestinationで貼り付け先をC2〜C7に指定しています。このサンプルの場合、コピー元が単体のセルであるため、どのようなセル範囲にも貼り付けが可能ですが、クリップボードの内容が指定したセル範囲の形状に合わない場合にはエラーとなりますので、注意してください。 ●ポイント● リンク貼り付けをする際には、Destinationで貼り付け先を選択できないため、必ず貼り付け先を選択する必要があります。つまり、他のシートに貼り付ける際には必ずそのシートを選択しなくてはいけません。しかし、リンク貼り付けとはコピー元を参照する数式をコピー先に入力する処理ですから、もし貼り付け先シートを選択したくない場合には、Formulaプロパティを使って数式を入力してください。 逆にDestinationを指定する場合には、Objectで指定するワークシートとDestinationで指定するセル範囲の含まれるワークシートが別のワークシートであっても問題無く動作しますので、常に「Activesheet.Paste」と、Activesheetを指定していても構いません。