外部ソースから情報をインポートする場合、データに空白の列(何も含まれていない列)が含まれる可能性があります。大量のデータをインポートする場合、これらの列を削除するのは面倒な場合があります。これらの列を削除する方法には、いくつかの方法があります。

最初のアプローチは、データが列でソートされている場合に非常にうまく機能します。つまり、インポートするデータは昇順であるか、並べ替えられた順序である必要があります。この場合、次の手順に従います。

。データを表す列を選択します。範囲の一部として、すべての空白の列も選択していることを確認してください。

。リボンの[データ]タブを表示します。

。並べ替えツールをクリックします。 Excelに[並べ替え]ダイアログボックスが表示されます。

。 [オプション]ボタンをクリックします。 Excelに[並べ替えオプション]ダイアログボックスが表示されます。

(図1を参照)

。 [左から右に並べ替え]ラジオボタンを選択します。

。 [OK]をクリックして、[並べ替えオプション]ダイアログボックスを閉じます。

。最初の[並べ替え]ドロップダウンリストを使用して、並べ替える行を指定します。

。 [OK]をクリックします。

この方法で並べ替えると、空の列はすべて右に「プッシュ」され、データは並べ替えられた順序になります。

データを並べ替えたくない場合は、選択した範囲の空白の列をチェックしてからそれらの列を削除する気の利いたマクロを使用できます。次のマクロでうまくいきます:

Sub DeleteEmptyColumns()

first = Selection.Column     last = Selection.Columns(Selection.Columns.Count).Column     For i = last To first Step -1         If WorksheetFunction.CountBlank(ActiveSheet.Columns(i)) _           = ActiveSheet.Rows.Count Then             Columns(i).Delete         End If     Next i End Sub

マクロを使用するには、空白の列を削除する列の範囲を選択します。マクロは列をステップスルーし、列が本当に空白の場合は削除されます。このマクロは、本当に空の列のみを削除することに注意してください。列内のセルにゼロ値を返す数式が含まれている場合(およびゼロ値の表示がオフになっている場合)、または空の文字列を返す場合、列は空ではなく、数式が含まれています。この場合、列は削除されません。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(6149)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。