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)はA1Cells(1, 2)はB1Rangeと同様、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の中でもとてもよく使われる基本操作です。
マクロ作成の初期のステップとして、ぜひ使い方をマスターしておきましょう。
コメント