No.7ベストアンサー
- 回答日時:
空白行を削除し、スピードアップを図るため画面書き換えを止めた物を載せておきます。
-----------------------------------------------------------------
Sub Sample()
Dim 行 As Long
Application.ScreenUpdating = False
行 = Cells(Rows.Count, 5).End(xlUp).Row
Do While 行 >= 2
If Cells(行, 5).Value = 2 Then
Rows(行).Delete Shift:=xlUp
行 = 行 - 1
Rows(行).Delete Shift:=xlUp
End If
If Cells(行, 5).Value = "" Then Rows(行).Delete Shift:=xlUp
行 = 行 - 1
Loop
Application.ScreenUpdating = True
End Sub
-----------------------------------------------------------------
「If Cells(行, 5).Value = "" Then Rows(行).Delete Shift:=xlUp」で空白行削除です
「Application.ScreenUpdating = False」で画面書き換え停止
「Application.ScreenUpdating = True」で画面書き換え再開です
No.5
- 回答日時:
さらに確認です。
① E列に「2」が2つ以上続くことがありますか?
②「2」が2つ以上続いたときはどう処理しますか?
a. 上から処理をしていく為「2」がある行の倍数が削除される。
b. 下から処理していく為「2」のある行が偶数続く場合は「2」のある行のみ削除され、奇数の場合は「2」のある行+1行が削除される。
c. その他
③ 1行目には「2」はありますか?
a. 無
b. 1行目は処理しない
c. 1行目だけ削除する
d. その他
-----------------------------------------------------------------
① 有・無どちらも可 ② b. ③ a. の条件ならば、こんなものではいかがですか?
-----------------------------------------------------------------
Sub Sample()
Dim 行 As Long
行 = Cells(Rows.Count, 5).End(xlUp).Row
Do While 行 >= 2
If Cells(行, 5).Value = 2 Then
Rows(行).Delete Shift:=xlUp
行 = 行 - 1
Rows(行).Delete Shift:=xlUp
End If
行 = 行 - 1
Loop
End Sub
-----------------------------------------------------------------
No.4
- 回答日時:
手作業でできそうです。
1. F1セルに「=if(or(E1=2,E2=2),-1,row())」と入力します。
2. F1セルをF列全体にコピー&ペーストします。
3. 削除すべき行は「-1」、残すべき行は行番号になります。
4. F列全体をコピーしてその場に「値を貼り付け」ます。
5. つまり計算結果を値に変換します。
6. F列で並べ替えると削除すべき行が上がってきます。
7. それらの行を削除して、最後にF列も削除します。
バックアップしてから実行してください。
No.3
- 回答日時:
F列などに、補助列で数式を加えて、
=F2
=E2=2
(F列の場合)
この2つの数式を選択して下にコピーして、AutoFilter で、True の行だけを出して、まとめて削除すればよいと思います。マクロのレベルではないと思います。
No.2
- 回答日時:
補足要求です。
2が存在するのは、例のように偶数行だけですか。
それとも、奇数行にも2が存在した場合、それも処理しますか?
例
E列3行の値が2のとき、その行を削除し、2行も削除しますか?
それとも、このE列3行の2はスキップしますか?
No.1
- 回答日時:
念の為の確認ですが
①「2が入力された行」とは「2が入力されている行」でしょうか?
②「2」は必ず偶数行に有ると考えて良いのでしょうか?
③「1」が「2」に変更された場合も削除する機能が必要ですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Visual Basic(VBA) 【VBA】もし、値が0だったら左のセルと合わせて削除したい 3 2023/04/20 10:12
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 6 2023/03/03 18:05
- Visual Basic(VBA) エクセルVBAのコードについて 2 2022/08/10 21:49
- Visual Basic(VBA) 【VBA】データを入力後に,同一シート内に履歴として転記するVBAコードを教えていただきたいです。 3 2022/11/16 01:37
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
特定の条件の時に行を挿入したい
Excel(エクセル)
-
エクセルで特定の行を削除したいのですが。
Excel(エクセル)
-
-
4
マクロで最終行から上に検索を逆にしたい
Excel(エクセル)
-
5
Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで空白行を削除する ...
-
マクロで最終行を取得してコピ...
-
【VBA】条件に一致しない行を削...
-
マクロにて指定の文字間の文字...
-
VBAでの重複データに色付け
-
【VBA】条件に一致しない行を削...
-
Access2003レポート:最終ペー...
-
VB.net
-
エクセルのデータがない行には...
-
列から特定の文字列検索→該当以...
-
EXCEL VBAでA列にある空白行よ...
-
【至急】Excel 同一人物の情報...
-
エクセルマクロでグループごと...
-
条件に合った行を削除するマク...
-
EXCEL2007マクロ/オートフィル...
-
数値に見えるものはすべて数値...
-
Excel97 指定した行だけマク...
-
Excel VBAでオートフィルタで抽...
-
VBでスプレッドをしようする際...
-
Excel VBA オートフィルタの結...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで空白行を削除する ...
-
数値に見えるものはすべて数値...
-
エクセルのデータがない行には...
-
マクロで最終行を取得してコピ...
-
【VBA】条件に一致しない行を削...
-
【VBA】条件に一致しない行を削...
-
エクセルのVBAで指定した行数の...
-
VB.net
-
Excel VBAでオートフィルタで抽...
-
マクロにて指定の文字間の文字...
-
Excel97 指定した行だけマク...
-
EXCEL VBAでA列にある空白行よ...
-
excel2021で実行できないマクロ...
-
Excel 別ブックから該当データ...
-
VBAでの重複データに色付け
-
Excel VBA オートフィルタの結...
-
エクセルで階層図を作る方法
-
VBAで特定の行と一つ上の行を削...
-
【至急】Excel 同一人物の情報...
-
Excelで、マウスで範囲を選択し...
おすすめ情報
補足致します。
①「2が入力された行」とは「2が入力されている行」でしょうか?
→「2が入力されている行」で間違い無いです。
②「2」は必ず偶数行に有ると考えて良いのでしょうか?
→データの保存の都合上、空白行が存在し、「2」は偶数奇数行入り乱れています。
③「1」が「2」に変更された場合も削除する機能が必要ですか?
→不要です。
補足致します。
2が存在するのは、例のように偶数行だけですか。
それとも、奇数行にも2が存在した場合、それも処理しますか?
→No1の方と同じ質問ため省略させて頂きます。
例
E列3行の値が2のとき、その行を削除し、2行も削除しますか?
それとも、このE列3行の2はスキップしますか?
→削除致します。
補足致します。
① E列に「2」が2つ以上続くことがありますか?
→ありません。記録している設備は必ず2回計測し、2回目で総合判定するため
かならず「0」→「1」or「2」のセットになります。
A B C D E
1 0 :←1回目の計測
2 1 or 2:←2回目の計測と判定(判定の結果をE列に出力)
3 0 :←1回目の計測
4 1 or 2:←2回目の計測と判定
②「2」が2つ以上続いたときはどう処理しますか?
→「2」が連続しないため省略させて頂きます
③ 1行目には「2」はありますか?
a. 無
b. 1行目は処理しない
c. 1行目だけ削除する
d. その他
→「a」理由につきましては①と同じになります。