- 締切済み
エクセルの行選択
複数のセルに文字が書き込まれているのですが、特定の数値を含むセルの行だけを選択したいのですが。たとえばA6とB2059のセルの数値が0だとして、その行をすべて選択削除したいというものです。よろしくお願いします
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Mr_Holland
- ベストアンサー率56% (890/1576)
作業列を使いますが、並び替えを使う方法はいかがでしょうか。 ご質問の例でデータが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列を削除。
- ham_kamo
- ベストアンサー率55% (659/1197)
マクロを書いてみました。 シートタブを右クリックして「コードの表示」を選択すると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が含まれる行が選択されます。 マクロでそれらの行を削除することもできるのですが、一応選択結果を確認できるように、選択した状態までにしました。
お礼
ありがとうございます。ただF5を実行すると ”実行エラー’1004’ アプリケーション定義またはオブジェクト定義のエラーです。” と表示されます。
- okkokko
- ベストアンサー率25% (1/4)
二つ目のセルを選択する時に、Ctrlを押しながら選択すると複数選択できます。
お礼
出来ました。ありがとうございました。