トムが別のプログラムからExcelにワークシートをインポートして、データを操作できるようにすることが何度もあります。インポートは正常に機能しますが、インポートプロセスでは多く(数十、場合によっては数百)が追加されます

データが含まれていない余分な行の数。インポート後、トムは残りのデータを使用できるように、これらの余分な行を手動で削除する必要があります。トムは、これらの空の行を簡単に取り除く方法があるかどうか疑問に思います。

この問題に取り組む方法はいくつかあります。最も簡単な方法は、インポートしたデータを選択した列で並べ替えることです。その列に何も含まれていないすべての行は、データの最後または最初のいずれかになり(昇順または降順のどちらで並べ替えるかによって異なります)、これらの行を簡単に削除できます。

明らかに、この方法で並べ替えを行うと、元のインポートされた順序からデータが外れる可能性があります。データを元の順序にする必要があるが、空白行を削除する必要がある場合は、データの左側または右側に列を挿入し、連番を入力して、追加された列以外の任意の列で並べ替えを実行し、次に、空白の行を削除します(番号付け列に何かのみが含まれます)。

次に、番号付け列に基づいて2回目の並べ替えを行うと、データは元の順序に戻ります。

別のアプローチは、次の手順に従うことです。

。列全体を選択します。

。 F5を押します。 Excelに[移動]ダイアログボックスが表示されます。

。 [特別]をクリックします。 Excelは、[特別に移動]ダイアログボックスを表示します。

。 [空白]を選択して、[OK]をクリックします。 Excelは、列内の空白のセルのみを選択します。

。 [編集]メニューから[削除]を選択します。 Excelに[削除]ダイアログボックスが表示されます。

。 [行全体]を選択し、[OK]をクリックします。

マクロを使用して空白行を削除したい場合は、次のようなものを使用できます。

Sub DeleteEmptyRows()

Dim LastRow As Long     Dim J As Long

LastRow = ActiveSheet.UsedRange.Rows.Count + _       ActiveSheet.UsedRange.Rows(1).Row - 1     Application.ScreenUpdating = False     For J = LastRow To 1 Step -1         If Application.WorksheetFunction.CountA(Rows(J)) = 0 Then             Rows(J).Delete         End If     Next J     Application.ScreenUpdating = True End Sub

なぜマクロを使いたいのですか?空の行を毎週削除する必要があるかもしれないからです。マクロをパーソナルワークブックに入れるだけで、必要なときにいつでもアクセスできます。

このトピックに関する追加情報は、次のページにあります。

http://www.cpearson.com/Excel/deleting.htm#DeleteBlankRows http://dmcritchie.mvps.org/excel/lastcell.htm

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

このヒント(7986)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。