VBAでは、あるセルの値を別のセルにコピーすることが簡単にできます。
このページでは、セルの値をコピーする基本操作を、わかりやすく解説します。
目次
1. 基本構文
Range("B1").Value = Range("A1").Value
Range("A1").Value
:コピー元の値を取得Range("B1").Value = ~
:コピー先のセルに代入- この構文で、A1セルの値をB1セルにコピーできます。
2. Cells を使ったコピー例
Cells(1, 2).Value = Cells(1, 1).Value
Cells(1, 1)
はA1
Cells(1, 2)
はB1
Range
と同様、Cells
でもコピーできます
3. ワークシートを明示してコピーする例
Worksheets("Sheet2").Range("A1").Value =
Worksheets("Sheet1").Range("A1").Value
- 他のシート間でコピーしたい場合は、ワークシート名を明示的に指定します
- これにより、シートを跨いだセル値のコピーが可能になります
4. 複数セルを1つずつコピーする例(ループ)
Dim i As Integer
For i = 1 To 5
Range("B" & i).Value = Range("A" & i).Value
Next i
- A列の1〜5行目の値を、B列にコピーします
- 繰り返し処理で、複数行を効率的にコピーできます
5. 値だけでなく書式も含めてコピーしたい場合(補足)
値だけでなく書式もコピーしたい場合は .Copy
を使いますが、
このページでは「値のみをコピーする方法」に限定しています。
※ .Value
を使えば、計算式の結果(値)だけがコピーされます。
6. まとめ
操作内容 | 構文例 |
---|---|
同じシート内でコピー | Range("B1").Value = Range("A1").Value |
Cells を使う | Cells(1, 2).Value = Cells(1, 1).Value |
シートをまたいでコピー | Sheets("Sheet2").Range("A1").Value = Sheets("Sheet1").Range("A1").Value |
複数行をループでコピー | For i = 1 To 5 ~ Next i を使って処理 |
セルの値をコピーする操作は、VBAの中でもとてもよく使われる基本操作です。
マクロ作成の初期のステップとして、ぜひ使い方をマスターしておきましょう。
コメント