![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
● A B C D E F G
1 2/1 10:00 10 0 入荷 出荷 リンゴ
2
3 2/1 11:00 10 2 入荷 出荷 イチゴ
4
5 2/1 12:00 10 1 入荷 出荷 リンゴ
6
7 2/1 12:00 10 1 入荷 出荷 リンゴ
8 2/1 13:00 10 0 入荷 出荷 リンゴ
9 2/1 14:00 10 2 入荷 出荷 リンゴ
10
11 2/1 15:00 10 0 入荷 出荷 イチゴ
12 2/1 16:00 10 10 入荷 出荷 リンゴ
13 2/1 17:00 10 0 入荷 出荷 リンゴ
14 2/1 18:00 10 3 入荷 出荷 ミカン
15 2/1 19:00 10 1 入荷 出荷 リンゴ
16 2/1 19:30 10 0 入荷 出荷 イチゴ
17 2/1 20:00 10 5 入荷 出荷 リンゴ
上手に表が書けないのですが、上のような表があるときに、G列の3行目のイチゴの上下にある空白行(2行目・4行目)を両方行削除したいのです。同様にイチゴをはさむ時が17行目以降にもあります。
その場合も同じ処理を繰返し行うようにしたいです。(全部で8000行ぐらいです)
11行目のイチゴのように上だけが空白行のときは、下の12行目にはテータがあるので10行目の空白行のみを行削除できるようにしたいのですが、構文がよくわからないので、どなたかご教授願います。
よろしくお願いいたします。
No.6ベストアンサー
- 回答日時:
No.4 の修正版です。
Sub Sample()
Dim 終 As Long
Dim 行 As Long
終 = Cells(Rows.Count, 7).End(xlUp).Row
For 行 = 終 To 2 Step -1
If Cells(行, 7).Value = "" Then
If Cells(行 - 1, 7).Value = "イチゴ" Then
Cells(行, 7).Value = "削除予定"
Else
If Cells(行 + 1, 7).Value = "イチゴ" Then
Cells(行, 7).Value = "削除予定"
End If
End If
End If
Next
If Cells(1, 7).Value = "" Then
If Cells(2, 7).Value = "イチゴ" Then
Cells(1, 7).Value = "削除予定"
End If
End If
For 行 = 終 To 1 Step -1
If Cells(行, 7).Value = "削除予定" Then
Rows(行).Delete Shift:=xlUp
End If
Next
End Sub
※ 一度目のループで削除予定の行に「削除予定」と書き込んでおいて、次のループで削除しています。ただ結果的に「イチゴに接している空白行」が残る可能性は有ります。もしかしたら No.4 の方が良いのかもしれません、お好きな方をお使い下さい。
No.8
- 回答日時:
No.4 と No.6 の違いですが、元が以下のような場合に 9行目を残すかどうかです。
No.4 では削除されます。
No.6 では残ります。結果だけ見るとイチゴの上の行が残ります。
● A B C D E F G
1 2/1 10:00 10 0 入荷 出荷 リンゴ
2
3 2/1 11:00 10 2 入荷 出荷 イチゴ
4
5 2/1 12:00 10 1 入荷 出荷 リンゴ
6
7 2/1 12:00 10 1 入荷 出荷 リンゴ
8 2/1 13:00 10 0 入荷 出荷 リンゴ
9
10
11 2/1 15:00 10 0 入荷 出荷 イチゴ
12 2/1 16:00 10 10 入荷 出荷 リンゴ
13 2/1 17:00 10 0 入荷 出荷 リンゴ
14 2/1 18:00 10 3 入荷 出荷 ミカン
15 2/1 19:00 10 1 入荷 出荷 リンゴ
16 2/1 19:30 10 0 入荷 出荷 イチゴ
17 2/1 20:00 10 5 入荷 出荷 リンゴ
度々のご回答ありがとうございます。
9行目の空白行については、リンゴの直下の空白行の解釈としていますので、11行目のイチゴの直上が削除されれば、良いです。その場合は、No.6になるのですね。
ありがとうございます。
No.4およびNo.6を早速、使わせて頂きます。
本当にに助かりました。ありがとうございます。
No.5
- 回答日時:
No.4 の補足
空白行が続いたときに誤動作しそうなので、訂正しますのでもう少しお待ち下さい。
No.4
- 回答日時:
こんな感じではいかがでしょうか?
------------------------------------------------------
Sub Sample()
Dim 終 As Long
Dim 行 As Long
終 = Cells(Rows.Count, 7).End(xlUp).Row
For 行 = 終 To 2 Step -1
If Cells(行, 7).Value = "" Then
If Cells(行 - 1, 7).Value = "イチゴ" Then
Rows(行).Delete Shift:=xlUp
Else
If Cells(行 + 1, 7).Value = "イチゴ" Then
Rows(行).Delete Shift:=xlUp
End If
End If
End If
Next
If Cells(1, 7).Value = "" Then
If Cells(2, 7).Value = "イチゴ" Then
Rows(行).Delete Shift:=xlUp
End If
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
運動するとイケメンになります...
-
バスケを始めたい17歳です 遅い...
-
ボクシングやってる人って怖い...
-
駅とかでわざとぶつかる人の心...
-
至急です!!!鶴橋のコピーに...
-
ディップス自重+荷重で90kgで10...
-
ファブルがやっていた高層マン...
-
心肺機能を鍛えるにはジョギン...
-
坂道ダッシュで鍛えられること...
-
階段ダッシュって痩せますか?
-
順手でやる懸垂とパラレルグリ...
-
だるま浮きで浮きすぎて溺れる...
-
得体の知れぬ不安を解消するの...
-
自分は懸垂は小学生の時で10回...
-
スケートボードで道路走るのい...
-
スクボー道路の端走るのいいで...
-
バンジージャンプとかで高いと...
-
バンジージャンプとかで体勢と...
-
ケンカの強さって
-
滑舌をよくする方法ありますか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
運動するとイケメンになります...
-
階段ダッシュって痩せますか?
-
ディップス自重+荷重で90kgで10...
-
心肺機能を鍛えるにはジョギン...
-
坂道ダッシュで鍛えられること...
-
ケンカの強さって
-
ボクシングやってる人って怖い...
-
私が小学生の頃の話です。 当時...
-
バスケを始めたい17歳です 遅い...
-
ファブルがやっていた高層マン...
-
走り高跳びについて
-
【懸垂について】 細い棒(鉄棒...
-
朝、空腹の時に1時間散歩しても...
-
至急です!!!鶴橋のコピーに...
-
カローラスポーツの総走行距離
-
スイミングスクールコーチにパ...
-
バンジージャンプやスカイダイ...
-
サッカーやフィギュアすあけー...
-
家に2キロのダンベルがあるんで...
-
面子にこだわる人はやはり多い...
おすすめ情報
ご連絡ありがとうございます。
イチゴに接している空白行のみ削除し、(この場合は6行目は残す)ということになります。
よろしくおねがいいたします。
やはりマクロで処理をしたいと思います。
データ量があり、人間の目の作業ですとまちがえてしまうように思いますので、
マクロでの処理を希望しています。
ご回答ありがとうございます。
初歩的なことをお伺いしてしまいますが、構文の中の”終”および”行”には実際の値を当てはめるのでしょうか?