セルの行を操作する
Excel VBAで行を操作する:詳細解説と実践例
Excel VBAで行の操作は、データの整理や分析において非常に重要な機能です。
行の挿入、削除、コピー、移動など、様々な操作が可能です。
本解説では、行操作の基本的な方法から応用的なテクニックまで、具体的なコード例とともにご紹介します。
行の指定方法
特定の行: Rows(行番号)
例: Rows(3) → 3行目
複数の行: Rows("開始行:終了行")
例: Rows("2:5") → 2行目から5行目まで
すべての行: Rows
行の操作
行の挿入
VB.Net
' 3行目に1行挿入
Rows(3).Insert Shift:=xlDown
コードは注意してご使用ください。
Shift:=xlDown: 挿入後に下の行を下にずらす
2. 行の削除
VB.Net
' 3行目を削除
Rows(3).Delete
コードは注意してご使用ください。
行のコピー
VB.Net
' 3行目を5行目にコピー
Rows(3).Copy Destination:=Rows(5)
コードは注意してご使用ください。行の移動
VB.Net
' 3行目を10行目に移動
Rows(3).Cut Destination:=Rows(10)
コードは注意してご使用ください。
応用的な操作
条件に基づいた行の削除:
VB.Net
For i = Range("A1").End(xlDown).Row To 2 Step -1
If Cells(i, "A").Value = "削除" Then
Rows(i).Delete
End If
Next i
コードは注意してご使用ください。
A列の値が"削除"の場合、その行を削除
複数のシートの行操作:
VB.Net
Dim ws As Worksheet
For Each ws In Worksheets
ws.Rows("2:10").Delete
Next ws
コードは注意してご使用ください。
すべてのシートの2行目から10行目を削除
その他の便利なプロパティとメソッド
行の高さを変更: Rows(1).RowHeight = 20
行を非表示/表示: Rows(1).Hidden = True
行のスタイル: Rows(1).Font.Bold = True
実践例:データの抽出
特定の条件に合う行だけを別のシートに抽出するマクロを作成してみましょう。
VB.Net
Sub データ抽出()
Dim ws1 As Worksheet, ws2 As Worksheet
Dim lastRow As Long, i As Long
Set ws1 = Sheets("Sheet1") ' 元データのシート
Set ws2 = Sheets.Add ' 新しいシート
lastRow = ws1.Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To lastRow
If ws1.Cells(i, "B").Value = "条件A" Then
ws1.Rows(i).Copy Destination:=ws2.Cells(ws2.Rows.Count + 1, "A")
End If
Next i
End Sub
コードは注意してご使用ください。
このマクロは、Sheet1のB列の値が"条件A"である行を、新たに作成したシートにコピーします。
まとめ
Excel VBAで行操作を行うことで、データの整理や分析を効率的に行うことができます。
今回の解説を参考に、様々な場面でVBAを活用してみてください。
より高度な操作や特定の処理について知りたい場合は、具体的な質問をいただければ、より詳細な解説をさせていただきます。
補足:
上記のコードはあくまで一例です。実際のデータや処理内容に合わせて適宜修正してください。
VBAのエラー処理やパフォーマンスについても、必要に応じて検討してください。
この記事が気に入ったらサポートをしてみませんか?