セルに貼り付ける(Pasteメソッド)

 引数を省略した場合、クリップボードの内容を指定したワークシートの選択範囲
に貼り付けます。選択範囲以外に貼り付ける際には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を指定して
いても構いません。

Excel2000



戻る


Excel Word Access VBA! モーグ