見出し画像

セルの行を操作する

 Excel VBAで行を操作する:詳細解説と実践例
 Excel VBAで行の操作は、データの整理や分析において非常に重要な機能です。
 行の挿入、削除、コピー、移動など、様々な操作が可能です。
 本解説では、行操作の基本的な方法から応用的なテクニックまで、具体的なコード例とともにご紹介します。

行の指定方法
 特定の行: Rows(行番号)
 例: Rows(3) → 3行目
 複数の行: Rows("開始行:終了行")
 例: Rows("2:5") → 2行目から5行目まで
 すべての行: Rows

行の操作

  1. 行の挿入
    VB.Net
    ' 3行目に1行挿入
    Rows(3).Insert Shift:=xlDown
    コードは注意してご使用ください。

Shift:=xlDown: 挿入後に下の行を下にずらす

2. 行の削除
VB.Net
' 3行目を削除
Rows(3).Delete
コードは注意してご使用ください。

  1. 行のコピー
    VB.Net
    ' 3行目を5行目にコピー
    Rows(3).Copy Destination:=Rows(5)
    コードは注意してご使用ください。

  2. 行の移動
    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のエラー処理やパフォーマンスについても、必要に応じて検討してください。

この記事が気に入ったらサポートをしてみませんか?