エクセル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」にコピーされます。

こちらの記事もご覧ください。⇒エクセルVBAが初心者でも短期間でマスターできる楽パソ!音声と映像で自宅で学べる。

こちらの記事もご覧ください。⇒プログラミングスキルが初心者でも短期間でマスターできる楽パソ!音声と映像で自宅で学べる。

Range、Cellsでセルのコピー

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

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

エクセル・ワード・パワーポイント・アクセス・マクロVBA・WEBプログラミングを入門から応用までらくらくマスターできる ➡ 動画パソコン教材

エクセルのマクロとVBAを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓
ワード・エクセルパワーポイント・アクセスとエクセルマクロVBA・WEBプログラミング・パソコンソフト作成を入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓
VBA・Java・WEB・C#・HTML/CSSプログラミングを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓
ワード・エクセル・パワーポイント・アクセスを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓

ワード・エクセル・パワーポイント・アクセスとWEBプログラミングを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓