Range.Copy メソッド (Excel)
範囲を、指定の範囲またはクリップボードにコピーします。
注意
複数のプラットフォーム間で Office エクスペリエンスを拡張するソリューションを開発することに関心がありますか? 新しい Office アドイン モデルを参照してください。 Office アドインは、VSTO アドインやソリューションに比べてフットプリントが小さく、HTML5、JavaScript、CSS3、XML などのほぼすべてのWeb プログラミング テクノロジーを使用して構築できます。
式.コピー (コピー先)
expression は Range オブジェクトを表す変数です。
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
Destination | 省略可能 | Variant | コピー先のセル範囲。 この引数を省略すると、クリップボードにコピーされます。 |
バリアント型
次のコード例は、シート 1 のセル範囲 A1:D4 内の式をシート 2 のセル範囲 E5:H8 にコピーします。
Worksheets("Sheet1").Range("A1:D4").Copy _
destination:=Worksheets("Sheet2").Range("E5:H8")
次のコード例は、シート 1 の各行の列 D に含まれる値を検査します。 列 D の値が A の場合、その行全体がシート A の空になっている次の行にコピーされます。 値が B の場合、行はシート B にコピーされます。
Public Sub CopyRows()
Sheets("Sheet1").Select
' Find the last row of data
FinalRow = Cells(Rows.Count, 1).End(xlUp).Row
' Loop through each row
For x = 2 To FinalRow
' Decide if to copy based on column D
ThisValue = Cells(x, 4).Value
If ThisValue = "A" Then
Cells(x, 1).Resize(1, 33).Copy
Sheets("SheetA").Select
NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(NextRow, 1).Select
ActiveSheet.Paste
Sheets("Sheet1").Select
ElseIf ThisValue = "B" Then
Cells(x, 1).Resize(1, 33).Copy
Sheets("SheetB").Select
NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(NextRow, 1).Select
ActiveSheet.Paste
Sheets("Sheet1").Select
End If
Next x
End Sub
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。