• 締切済み

エクセルの行選択

複数のセルに文字が書き込まれているのですが、特定の数値を含むセルの行だけを選択したいのですが。たとえばA6とB2059のセルの数値が0だとして、その行をすべて選択削除したいというものです。よろしくお願いします

みんなの回答

  • Mr_Holland
  • ベストアンサー率56% (890/1576)
回答No.3

 作業列を使いますが、並び替えを使う方法はいかがでしょうか。  ご質問の例でデータがA列とB列だけに入っているとし、空白以外の「0」が入っているセルだけを選択削除します。 1)C列に頭から1,2,3,4,・・・と昇順に数字を入れる。 2)セルD1に「=IF(AND(NOT(OR((A1=""),(B1=""))),OR((A1=0),(B1=0))),"削除対象","残す")」と入れて、以下コピーする。 3)D列をキーにして昇順に並び替え。 ⇒ 上のほうに「0」が含まれている行だけが集まります 4)D列の値が「削除対象」となっている行を選択し削除する。 5)C列をキーにして昇順に並び替え。 ⇒ 元の順序に戻す。 6)C列とD列を削除。

acckaz
質問者

お礼

出来ました。ありがとうございました。

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

マクロを書いてみました。 シートタブを右クリックして「コードの表示」を選択するとVBAの画面が開きます。 その右側の画面に以下のマクロをコピーして貼り付けてください。 Sub 特定の文字を含む行を選択()   Dim SelectedRows As String   Dim i As Integer, StartRow As Integer, EndRow As Integer   StartRow = UsedRange.Cells(1, 1).Row   EndRow = StartRow + UsedRange.Rows.Count - 1   For i = StartRow To EndRow     If Not Rows(i).Find(What:="0", LookAt:=xlWhole, MatchByte:=False) Is Nothing Then         If SelectedRows = "" Then         SelectedRows = i & ":" & i       Else         SelectedRows = SelectedRows & "," & i & ":" & i       End If     End If   Next   If SelectedRows <> "" Then     Range(SelectedRows).Select   End If End Sub あとはF5キーを押すか、またはこの画面を閉じてExcelに戻り、Alt+F8でマクロを実行してください。0が含まれる行が選択されます。 マクロでそれらの行を削除することもできるのですが、一応選択結果を確認できるように、選択した状態までにしました。

acckaz
質問者

お礼

ありがとうございます。ただF5を実行すると ”実行エラー’1004’ アプリケーション定義またはオブジェクト定義のエラーです。” と表示されます。

  • okkokko
  • ベストアンサー率25% (1/4)
回答No.1

 二つ目のセルを選択する時に、Ctrlを押しながら選択すると複数選択できます。

関連するQ&A