VBA で行を削除する

Iqra Hasnain 2024年2月15日
  1. VBA で行を削除する
  2. VBA で行全体を削除する方法
  3. VBA で複数の行を削除する方法
  4. VBA で代替行を削除する方法
  5. VBAで空白行を削除する方法
  6. VBAで特定の値を持つ行を削除する方法
  7. VBAで重複行を削除する方法
VBA で行を削除する

VBA の例を使用して、さまざまな状況で行を削除する方法を紹介します。

VBA で行を削除する

Excel シートからの行の削除は、キーボード ショートカットまたはマウスまたはタッチパッドを使用して実行できる簡単な作業です。 ただし、1つまたは複数の行を削除することに特化している場合は、VBA ルートを使用すると便利です。

不要なフィールドがデータの一部である場合、VBA を使用して Excel シートの行または列を削除します。 ユーザーが特定の条件で列を削除するのに役立ちます。

たとえば、重複する行は VBA コマンドを使用して簡単に削除できます。

この記事では、ユーザーが Excel ワークシートで作業するのに役立ついくつかの主な例と関連する VBA コードについて説明します。 これらの複数のシナリオは次のとおりです。

  1. 行全体を削除するには

    1.1。 最初の行を削除するには

    1.2. 特定の行を削除するには

  2. 複数の行を削除するには

  3. 代替行を削除するには

  4. 空行を削除するには

  5. 特定の日付値を持つ行を削除するには

  6. 重複行を削除するには

VBA で行全体を削除する方法

ここで、VBA で最初の行を削除しようとする最初のシナリオについて説明しましょう。 最初の行を削除したい場合は、VBA の EntireRow.Delete メソッドが役に立ちます。

このメソッドを例で使用して、Excel シートの最初の行を削除してみましょう。

deleteFirstRow() として sub を作成します。 この目的のためのコードを以下に示します。

# VBA
Sub DeleteFirstRow()
ThisWorkbook.Worksheets(1).Rows(1).EntireRow.Delete
End Sub

出力:

VBA コードを使用して最初の行を削除

上記の例は、行が特定の番号を参照し、EntireRow.Delete メソッドを使用することを指定することによって、このコードが機能することを示しています。 したがって、行番号を指定することで、コードを任意の行に使用できます。

それでは、以下に示すように、上記の方法を使用して行番号 7 と 10 を削除してみましょう。

# VBA
Sub DeleteSpecificRow()
ThisWorkbook.Worksheets(1).Rows(7).EntireRow.Delete
ThisWorkbook.Worksheets(1).Rows(10).EntireRow.Delete
End Sub

出力:

VBA コードを使用した特定の行の削除

上記の例は、削除したい行番号を渡すと、EntireRow.Delete メソッドを使用して行全体を簡単に削除できることを示しています。

VBA で複数の行を削除する方法

前の例では、複数の EntireRow.Delete メソッドを使用して複数の行を削除しました。 しかしここでは、1つのメソッドだけで複数の行を削除する方法について説明します。

VBA で range オブジェクトを使用して、複数の行を削除できます。 ユーザーは、最初に Excel シートから削除するセルの数を選択し、以下に示すように範囲を渡します。

# VBA
Sub deleteMultipleRow()
Range("A1:C7").EntireRow.Delete
End Sub

出力:

VBA コードを使用した複数行の削除

上記の例は、Range() メソッドを使用して、EntireRow.Delete メソッドを使用して削除する行と列の範囲を渡すことができることを示しています。

複数の行と列をデータから直接削除できます。 VBA コードを使用して、データから複数の行 (行 2 から行 7) を削除します。

# VBA
Rows("2:7").Delete

出力:

VBA コードで行関数を使用して複数の行を削除

列の範囲 (B から C) を削除する場合は、次の方法を使用できます。

# VBA
Columns("B:C").Delete

出力:

VBA コードで列関数を使用して複数の列を削除

VBA で代替行を削除する方法

Excel シートはさまざまな用途に使用されますが、Excel シートの形式で記録を保存するために使用される一般的なソフトウェアです。 Excel シートは財務システムの基本的な部分です。ほとんどのデータは Excel シートに保存され、そのデータの結果を数式で見つけるためです。

一部の財務 Excel シートには、レコードを改善するために削除する必要がある代替番号に空の行が含まれています。 VBA は、ユーザーが役に立たない代替行全体を削除するのに役立ちます。

以下に示すように、代替番号を持つ行を削除して、この目的のために sub を作成してみましょう。

Sub AlternateRowDel()
rowLen = Selection.Rows.Count
For a = rowLen To 1 Step -2
    Selection.Rows(a).EntireRow.Delete
Next a
End Sub

出力:

VBA コードでの代替行の削除

上記の AlternateRowDel() サブルーチンからわかるように、選択範囲の行数を、完全に削除される行の総数である変数 rowLen に保存しました。

サブルーチン内には、Step -2 で実行される for ループがあります。これは、2 行ごとに削除されることを示します。 3 行ごとに削除する場合は、step -3 と記述します。これにより、ユーザーがデータから削除したい代替行の任意の数に対して同じプロセスを使用できます。

VBAで空白行を削除する方法

大規模なデータ コレクションを操作している場合、多数または少数の行が空になる可能性があります。 手動で削除を開始すると時間がかかり、すべてを見つけるのが難しいため、VBA を使用して削除することをお勧めします。

大規模なデータ コレクションを提供する場合、通常、コードは人間よりも正確に機能します。 SpecialCells メソッドは、これらの行を削除できます。

空のセルのみを選択して、xlCellTypeBlanks を渡すことができます。 以下に示すように、例を見て、VBA を使用してすべての空白行を削除してみましょう。

# VBA
Sub RemoveBlankRows()
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

出力:

VBA コードの空白行の削除

上記の例は、1 行のコードで数百または数千の空の行を削除できることを示しています。 手動で削除を開始すると、数時間または数日かかる場合があります。

VBAで特定の値を持つ行を削除する方法

特定の値を含む行を削除しなければならない状況に遭遇することがあります。 また、これらの行を手動で削除するのは、困難で多忙なプロセスになる可能性があります。

しかし、VBA はこの問題の解決策も提供します。 すべての行を反復処理してその特定の値を見つけることができるカスタム サブルーチンを作成できます。

これらの行のいずれかに値が見つかった場合、EntireRow.Delete メソッドを使用してその行を削除できます。

以下に示すように、このロジックを例で使用してみましょう。

# VBA
Sub RemoveWithValue()
For a = Selection.Rows.Count To 1 Step -1
If Cells(a, 1).Value = "Delete" Then
Cells(a, 1).EntireRow.Delete
End If
Next a
End Sub

出力:

VBA コードで特定の値を持つ行を削除する

上記の例は、このコードがすべての行を繰り返し処理し、delete という単語を見つけることを示しています。 これらの行のいずれかに delete が見つかった場合。

私たちのコードはこれらの行を削除します。

VBAで重複行を削除する方法

一部の結果で問題を引き起こす可能性がある多くの重複を含む一連のデータが存在する場合があります。 手動でやり始めると、重複の削除も多忙になる可能性があります。

また、特定のエントリが前に表示されたかどうかを思い出すのが難しい場合もあります。

より簡単かつ簡単にするために、VBA の別のメソッド RemoveDuplicates を使用できます。 このメソッドは範囲を取り、重複を見つけて削除します。

以下に示すように、このシナリオを例で使用してみましょう。

# VBA
Range("A1:A10").RemoveDuplicates Columns:=1

出力:

VBA コードで重複する値を持つ行を削除する

上記の例は、a1 セルから b10 セルまでの範囲を渡したことを示しています。 そして、コードは重複を見つけて削除します。

Excel シートで VBA コードを使用する方法

Excel シートでスクリプトを実行するための VBA コードをどこに記述すればよいか、混乱することがあります。

必要な Excel シートで VBA コードを実行するために従うことができるいくつかの手順を次に示します。

  1. まず、VBA エディターを開く必要があります。 次のボタンを押すと、VBA エディターを簡単に開くことができます。

    まず、ALT キーを押したままにしてから、F11 キーを押します。

  2. VBA エディターが開いたら、[表示] オプションに移動し、[プロジェクト エクスプローラー] を選択します。 VBA エディター モードに入ると、ワークシートの左側にプロジェクト エクスプローラーが表示されます。

  3. コードを実行するオブジェクトを右クリックします。

  4. 次に、ワークシートにモジュールを追加します。 挿入をクリックしてモジュールを選択することで、ワークシートにモジュールを簡単に追加できます。

  5. 貼り付けたいコードをコピーして貼り付けます。 または、そこにコードを書きたい場合は、それを行うことができます。

  6. カーソルを置いたまま F5 キーを押して、コードを実行します。 VBA ツールバーにある緑色の三角形をクリックして、VBA コードを実行することもできます。

関連記事 - VBA Row