他の人から受け取った情報を含むデータテーブルを操作している場合、特定の条件が満たされた場合に行を削除して、テーブル内のデータ量を整理することができます。このようなタスクに取り組むには、いくつかの方法があります。

最初の方法は、Excelのオートフィルター機能を使用することです。これは、行を削除するためのかなり単純な基準がある場合に特に効果的です。オートフィルターをオンにすると、Excelはデータテーブルのヘッダー行の各セルの右側にプルダウンボタンを配置します。

これらのプルダウンボタンを使用して、表示するレコードを指定できます。削除する行のみが表示されるフィルター値を選択する必要があります。それらの行が表示されたら、それらを選択し、メニューを使用して行を削除できます。

オートフィルターをオフにすると、必要な行だけが残ります。

別の方法では、マクロを使用して削除を行います。

このアプローチは、大量のデータに対して削除を実行する必要がある場合、または頻繁に実行する場合に適しています。次のマクロは、キー値に基づいて行を削除できます:

Sub DeleteRows()

Dim strToDelete As String     Dim rngSrc As Range     Dim NumRows As Integer     Dim ThisRow As Integer     Dim ThatRow As Integer     Dim ThisCol As Integer     Dim J As Integer     Dim DeletedRows As Integer

strToDelete = InputBox("Value to Trigger Delete?", "Delete Rows")

Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address)



NumRows = rngSrc.Rows.Count     ThisRow = rngSrc.Row     ThatRow = ThisRow + NumRows - 1     ThisCol = rngSrc.Column

For J = ThatRow To ThisRow Step -1         If Cells(J, ThisCol) = strToDelete Then             Rows(J).Select             Selection.Delete Shift:=xlUp             DeletedRows = DeletedRows + 1         End If     Next J     MsgBox "Number of deleted rows: " & DeletedRows End Sub

マクロを使用するには、チェックする行をカバーするキー範囲の範囲を選択します。たとえば、チェックするキーが列Gにあり、行5から73をチェックする場合は、範囲G5:G73を選択します。マクロを実行すると、チェックする値を尋ねられます。 G5:G73の範囲のセルに指定した値が含まれている場合、そのセルに対応する行が削除されます。

値に基づいて行を削除する方法は他にもあります。さまざまな方法の適切な選択については、OzgridのDaveHawleyによるこのページをご覧ください。

http://www.ozgrid.com/VBA/VBACode.htm

注:

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

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

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