0

列 G に 210 で始まる番号がある場合、Excel シートの行全体を削除するにはどうすればよいですか。

セルのどこかに 210 がある場合は行を削除したくありませんが、それを開始する場合のみです。

4

2 に答える 2

3

次のコードを使用します。

Sub RemoveRows()

Dim i As Long

i = 1

Do While i <= ThisWorkbook.ActiveSheet.Range("G1").CurrentRegion.Rows.Count

    If Left(ThisWorkbook.ActiveSheet.Range("G" & i).Formula, 3) = "210" Then
        ThisWorkbook.ActiveSheet.Cells(i, 1).EntireRow.Delete
    Else
        i = i + 1
    End If

Loop

End Sub

サンプル ファイル: https://www.dropbox.com/s/yp2cwphhhdn3l98/RemoweRows210.xlsm

それを表示して実行するには、ALT-を押しF11、Module1 を開いて を押しF5ます。幸運を!

于 2013-02-06T19:29:40.463 に答える
1

コードなしで純粋に UI で実行したい場合は、次のようにして非常に効率的に実行できます。

  1. 一時的な列を挿入します (例: 列 G の右側) ( Ctrl-Space列 H の任意のセルにCtrl- +)
  2. 列に数式を入力します=LEFT(TEXT(G1),3)="210"-これはTRUE、探しているすべての行に対して返されます
  3. その新しい列または全範囲 ( Ctrl- Shift- L)のいずれかにオートフィルターを適用します。
  4. その列をフィルタリングしますTRUE- この方法では、削除したい行だけが残ります
  5. すべての行を選択して削除 ( Ctrl-Aテーブル内の任意のセルでShift- SpaceCtrl- -)
  6. 一時列を削除します ( Ctrl-Space列 H の任意のセル内Ctrl- -)

終わり!

于 2013-02-06T20:35:39.540 に答える