Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

VBA マクロの実装 は、Excel で操作を実行するための最も効果的、迅速かつ安全な方法です。この記事では、Excel で VBA マクロ を使用して基準に基づいて列を削除する方法を紹介します。 .

ワークブックをダウンロード

ここから無料の練習用 Excel ワークブックをダウンロードできます。

汎用構文

VBA を使用して Excel で列を削除する一般的な構文

列(列番号/列アドレス).削除

Excel で基準に基づいて列を削除する VBA マクロを使用した 8 つの例

このセクションでは、セル値、別のワークシート、および VBA を使用したテーブルに基づいて列を削除する方法を学習します。 マクロ

以下のデータセットを例として使用します。

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

基準 1:Excel のセル値に基づいて列を削除する VBA マクロ

セル値に基づく列を削除する手順 VBA を使用した Excel

手順:

  • Alt + F11 を押します キーボードで、またはタブ Developer -> Visual Basic に移動します Visual Basic Editor を開く .

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

  • ポップアップ コード ウィンドウで、メニュー バーから [挿入] -> [モジュール] をクリックします。 .

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

  • 次のコードをコピーして、コード ウィンドウに貼り付けます。
Sub DeleteColumnsBasedOnCellValue()
Dim iCol As Long
Dim iWrk As Long
iCol = 10
For iWrk = iCol To 1 Step -1
    If Cells(1, iWrk) = 2 Then
        Columns(iWrk).Delete
    End If
Next
End Sub

コードを実行する準備ができました。

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

このコードは、セル値 2 で始まる列を削除します .

  • F5 を押します キーボードまたはメニュー バーから Run -> Run Sub/UserForm を選択します . 小さな再生アイコンをクリックすることもできます サブメニュー バーでマクロを実行します。

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

結果を以下に示します。

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

セル値 2 で始まる列 削除されます。

続きを読む: Excel で列を削除する VBA

基準 2:Excel の空白セルに基づいて列を削除する VBA マクロ

セルが空白の列を削除する手順 VBA を使用した Excel で

手順:

  • 前と同じように、Visual Basic Editor を開きます 開発者から タブと挿入 モジュール コード ウィンドウで。
  • コード ウィンドウで、次のコードをコピーして貼り付けます。
Sub DeleteBlankCells()
Range("A1:J10").Select '//range of the dataset
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.EntireColumn.Delete
End Sub

コードを実行する準備ができました。

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

  • 走る

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

空白セルを含むすべての列 現在削除されています。

基準 3:Excel で空白の列を削除する VBA マクロ

空白の列で構成される次のデータセットを見てください。これらの空白の列を削除する方法を見ていきます VBA を使用した Excel マクロ。

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

手順:

  • 前と同じように、Visual Basic Editor を開きます 開発者から タブと挿入 モジュール コード ウィンドウで。
  • コード ウィンドウで、次のコードをコピーして貼り付けます。
Sub DeleteBlankCol()
Dim i As Integer
For i = 1 To 4
Columns(i + 1).Delete
Next i
End Sub

コードを実行する準備ができました。

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

  • 走る

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

すべての空白の列 削除されます。

続きを読む: Excel で空白の列を削除する

基準 4:Excel で隣接していない列を削除する VBA マクロ

隣接していない複数の列を削除する手順 VBA を使用した Excel

手順:

  • 前と同じように、Visual Basic Editor を開きます 開発者から タブと挿入 モジュール コード ウィンドウで。
  • コード ウィンドウで、次のコードをコピーして貼り付けます。
Sub DeleteNAdjCol()
Range("C:E, G:I").Delete
End Sub

コードを実行する準備ができました。

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

  • 走る

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

C から E (2 月から 4 月) までの以前のすべての列 および G to I (6 月から 8 月) 削除されました。

類似の読み方:

  • Excel で未使用の列を削除する方法 (最も簡単な 5 つの方法)
  • 数式に影響を与えずに Excel で列を削除する (2 つの方法)
  • Excel で重複した列を削除する方法 (6 つの方法)

基準 5:Excel の特定のワークシートに基づいて列を削除する VBA マクロ

特定のワークシートから列を削除する手順 VBA を使用した Excel で

手順:

  • 前と同じように、Visual Basic Editor を開きます 開発者から タブと挿入 モジュール コード ウィンドウで。
  • コード ウィンドウで、次のコードをコピーして貼り付けます。
Sub DeleteColFromSheet()
Worksheets("New Column").Select '// set the sheet name
Columns("D:F").Delete
End Sub

コードを実行する準備ができました。

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

  • 走る

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

D から F (3 月から 5 月) までの以前のすべての列新しいコラム」から ” ワークシートが削除されました。

基準 6:Excel のテーブルに基づいて列を削除する VBA マクロ

テーブルから列を削除する手順 VBA を使用した Excel で

手順:

  • 前と同じように、Visual Basic Editor を開きます 開発者から タブと挿入 モジュール コード ウィンドウで。
  • コード ウィンドウで、次のコードをコピーして貼り付けます。
Sub DeleteColTable()
Dim srcTable As ListObject
Dim srcSheet As Worksheet
'Set the table from which column is to be deleted
Set srcTable = ActiveSheet.ListObjects("ExTable")
'Set the sheet that contains the table
Set srcSheet = Sheet8
With srcSheet
srcTable.ListColumns(5).Delete
End With
End Sub

コードを実行する準備ができました。

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

  • 走る

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

第 5 列(4 月) はテーブルから削除されます。

基準 7:Excel のテーブルに基づいて複数の列を削除する VBA マクロ

複数を削除する手順 VBA を使用した Excel のテーブルの列

手順:

  • 前と同じように、Visual Basic Editor を開きます 開発者から タブと挿入 モジュール コード ウィンドウで。
  • コード ウィンドウで、次のコードをコピーして貼り付けます。
Sub DeleteMColTable()
Dim srcTable As ListObject
Dim srcSheet As Worksheet
Dim i As Integer
'Set the table from which column is to be deleted
Set srcTable = ActiveSheet.ListObjects("ExTable2")
'Set the sheet that contains the table
Set srcSheet = Sheet9
'Run the loop twice as we need to delete 2 columns
For i = 1 To 2
With Source
srcTable.ListColumns(5).Delete
End With
Next i
End Sub

コードを実行する準備ができました。

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

  • 走る

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

5 列目と 6 列目 (4 月と 5 月) テーブルから削除されました。

続きを読む: Excel で複数の列を削除する方法

基準 8:Excel の列ヘッダーに基づいてテーブルから列を削除する VBA マクロ

列ヘッダーに基づいてテーブルから列を削除する手順 VBA を使用した Excel で

手順:

  • 前と同じように、Visual Basic Editor を開きます 開発者から タブと挿入 モジュール コード ウィンドウで。
  • コード ウィンドウで、次のコードをコピーして貼り付けます。
Sub DeleteColHeaderTable()
Dim srcTable As ListObject
Dim srcSheet As Worksheet
Dim i As Integer
Dim colName As String
'Set the table from which column is to be deleted
Set srcTable = ActiveSheet.ListObjects("ExTable3")
'Set the sheet that contains the table
Set srcSheet = Sheet10
'Case sensitive
colName = "Apr"
'Loop through all the columns in the table
For i = 1 To srcTable.ListColumns.Count
With srcSheet
'Check the column header
If srcTable.ListColumns(i).Name = colName Then
srcTable.ListColumns(i).Delete
Exit For
End If
End With
Next i
End Sub

コードを実行する準備ができました。

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

  • 走る

Excel で条件に基づいて列を削除する VBA マクロ (8 つの例)

列ヘッダー 命名 4月 はテーブルから削除されます。

結論

この記事では、VBA マクロを使用して、Excel で 8 つの異なる基準に基づいて列を削除する方法を説明しました。 この記事があなたにとって非常に有益であることを願っています。このトピックに関する質問はお気軽にどうぞ。

こちらもご覧ください

  • 数式を削除せずに Excel の内容をクリアする方法 (3 つの方法)
  • Excel で余分な列を削除する (7 つの方法)

  1. Excel VBA:オートフィルターが存在する場合は削除する (7 つの例)

    マイクロソフト エクセル オートフィルターを削除する複数の方法を提供します ワークシートから または Excel テーブル。 この記事では、 7 について学びます。 オートフィルターが存在する場合はそれを削除するメソッド VBA スクリプトを使用して Excel で。 次のリンクから Excel ファイルをダウンロードして、それに沿って練習できます。 Excel に AutoFilter が存在する場合、VBA を使用して AutoFilter を削除する 7 つの例 1.存在する場合、アクティブなワークシートからオートフィルターを削除します 次のスクリーンショットは AutoFilt

  2. Excel で基準に基づいて行を列に転置する方法 (2 つの方法)

    通常、 TRANSPOSE 関数は、行を列に変換するためによく使用されます。ただし、一意の値など、特定の基準に応じた結果は返されません。このチュートリアルでは、Excel の条件に基づいて行を列に転置する方法を紹介します。 Excel で基準に基づいて行を列に転置する 2 つの便利な方法 以下の図には、いくつかの製品とその数量のデータセットが含まれています。 行は列に置き換えられます。 基準に基づいて行を列に入れ替えます 別のセルにいくつかの重複するエントリがあるため、一意の値の。まず、INDEX を使用します 、マッチ 、COUNTIF 、IF 、および IFERROR 数式を作成す