エクセルVBAでセルの値を取得(転記)する方法

エクセルVBAで、セルの値を別セルにコピーする方法を紹介しています。セルのコピーには、RangeオブジェクトのCopyメソッドでできますが、ここでは違う方法で、セルの値を転記します。エクセルVBAでセルの値を取得する場合は、Range、Cellsのどちらでもできます。その2つの方法で、セルを転記しましょう。セルのコピーは、決まったセルを、決まっている別のセルにコピーする作業をする場合、いちいちコピーしなくても、VBAで一発でセルの値をコピーできます。コピーする作業と、間違いなくセルをコピーするので、大変便利です。さらに、ボタンを作成してマクロ登録をすると、ボタンをクリックするだけで、コピーができます。ぜひ、覚えましょう。

 

 

Rangeを使用

Rangeは、Rangeオブジェクトで、セルを指定するものです。

Rangeは、Cellsとは違い、セルの範囲(複数セル)を指定することができます。

Rangeでセルの値を指定する時は、次にように使います。

Range(“セル”)

Range(“A1”)

 

 

Rangeでセルの値を転記(コピー)

VBAで、セルの値を取得してみましょう。

Rangeで、アクティブシートのセルの値を、別のセルにコピーするVBAです。

Sub 値を転記()
Dim Acq As String
Acq = Range(“A1”).Value
Range(“C1”).Value = Acq
End Sub

セル「A1」の値が、セル「C1」にコピーされます。

Rangeでシートを指定してセルの値を別シートに転記(コピー)する

Rangeで、Sheet1 のセルの値を、 Sheet2 にコピーするVBAです。

Sub 値を転記A()
Dim SAcq As String
SAcq = Worksheets(“Sheet1”).Range(“A1”).Value
Worksheets(“Sheet2”).Range(“C1”).Value = SAcq
End Sub

Sheet1 セル「A1」の値が、Sheet2 セル「C1」にコピーされます。

 

 

Cellsを使用

Cellsは、Rangeと同じようにRangeオブジェクトで、セルを指定するものです。

Cellsは、変数を使用する場合によく使います。

Rangeは、変数を使用するときに間違えやすく、エラーがでやすいという事があります。

Range(“A”&i) というような指定で、難しくなります。

Cellsの場合は、Cells(i,”1”) と変数を書きやすいです。

Cellsでセルの値を指定する時は、次にように使います。

Cells(行, 列)

Cells(1, 1)

または、列は、数字の他に列記号も使えます。

Cells(1, “A”)

Cellsでセルの値を転記(コピー)

Cellsで、アクティブシートのセルの値を、別のセルにコピーするVBAです。

Sub 値を転記B()
Dim CAcp As String
CAcp = Cells(1, 1).Value
Cells(1, 3).Value = CAcp
End Sub

セル「A1」の値が、セル「C1」にコピーされます。

 

 

Cellsでシートを指定してセルの値を別シートに転記(コピー)する

Cellsで、Sheet1 のセルの値を、 Sheet2 にコピーするVBAです。

Sub 値を転記C()
Dim SCAcp As String
SCAcp = Worksheets(“Sheet1”).Cells(1, 1).Value
Worksheets(“Sheet2”).Cells(1, 3).Value = SCAcp
End Sub

Sheet1 セル「A1」の値が、Sheet2 セル「C1」にコピーされます。

Range、Cellsでセルのコピー

VBAでセルの値の取得する方法、を2つ紹介しました。エクセルVBAでは、Range、Cellsを使って、どちらでもセルのコピーができますが、違いはあります。Rangeはセルの範囲(複数セル)のコピーができますが、Cellsはできません。ですが、Cellsは変数を使用する時、書きやすく、処理速度も速いといわれています。その点、Rangeで変数を使用すると、間違いやすく、難しくなります。エクセルVBAで、セルの値をコピーする時に、Range、Cellsのどちらを使うかは、基本的にはCellsを使いましょう。どのような場合に使うか、使いやすいメソッドを使いましょう。Rangeしか使えない場合もあるので、使い分けることが大事です。

こちらの記事もご覧ください。⇒エクセルVBAでセルを別シート(セルの範囲も紹介)にコピーする方法