外部ソースからデータをインポートする場合、ワークシートから無関係なデータを削除する必要が生じる場合があります。たとえば、データから2行ごと、または5行ごとに削除する必要がある場合があります。

これを手作業で行うと、面倒でエラーが発生しやすくなります。幸い、面倒な作業とエラーの両方を排除するのに役立つマクロを作成できます。

次のマクロDeleteRowsは、ワークシートからすべてのX行を削除します。あなたがしなければならないのはあなたがそれを適用したい行を選択することです。

記述されているように、マクロは2行ごとに削除されます。したがって、行10で始まる1行目、3行目、5行目、および7行目を削除する場合は、行10から16を選択してから、このマクロを実行します。その結果、行10(1行目)、12(3行目)、14(5行目)、および16(7行目)が削除されます。

Sub DeleteRows()

Dim iStart As Integer     Dim iEnd As Integer     Dim iCount As Integer     Dim iStep As Integer     Dim J As Integer

iStep = 2    'Delete every 2nd row     Application.ScreenUpdating = False     iStart = 1     iCount = Selection.Rows.Count     'Find ending row to start deleting     For J = iStart To iCount Step iStep         iEnd = J     Next

Do While iEnd >= iStart         Selection.Rows(iEnd).Delete         iEnd = iEnd — iStep     Loop     Application.ScreenUpdating = True End Sub

他の複数の行を削除する場合は、iStep変数の設定を変更するだけです。たとえば、5行ごとに削除する場合は、iStepを2から5に変更します(iStep = 2宣言で1回変更するだけで済みます)。

注:

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

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

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