すべてのX行を削除する(Microsoft Excel)
外部ソースからデータをインポートする場合、ワークシートから無関係なデータを削除する必要が生じる場合があります。たとえば、データから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トレーニングのソースです。
このヒント(2292)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。
linkDeleting Every XRows。