Excelファイルは、正確にはブックという単位のデータであり、ブック内とは複数のシートで構成されています。
実際のExcelの業務においても、複数のシートを使用する機会は多いと思います。VBAを学習するにあたっても身に付けておかなければならないスキルのひとつとなりますので、紹介しておきます。
この記事では、VBAを使って別シートの連続した複数セルに入力されている値をコピーするためのVBAコードの書き方について、説明します。
目次
GoToメソッドで別シートを選択する
この章では、VBAのGoToメソッドを使って、Excelの「別シート」のセルA1:A5に入力されている値をコピーして「本シート」のセルB1:B5に貼り付けるVBAコードを紹介します。
基本構文
object . GoTo Reference
- object = Applicationオブジェクト
この例では、GoToです - GoTo = 別シートを選択するためのメソッド
- Reference = 移動先のオブジェクト
この例では、Sheets(“別シート”.Range(“A1:A5”)です
VBAコード
Sub Sample()
Application.GoTo Sheets(“別シート”).Range(“A1:A5”)
Selection.Copy
Application.GoTo Sheets(“本シート”).Range(“B1:B5”)
Selection.PasteSpecial
End Sub
Selectプロパティを使ったVBAコード
VBAコード
Sub Sample()
Sheets(“別シート”).Select
Range(“A1:A5”).Copy
Sheets(“本シート”).Select
Range(“B1:B5”).PasteSpecial
End Sub
GoToメソッドを使う利点
GoToメソッドとSelectプロパティを使って別シートをコピーするVBAコードを紹介しましたが、今記事の使用例では、特に違いが分からないと思います。
説明が長くなりますので、GoToメソッドの詳細については割愛しましたが、後日、別記事で説明する予定です。