Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


52301 / 76737 ←次へ | 前へ→

【29276】3つのデータを比較して削除する方法
質問  haramama  - 05/9/29(木) 13:17 -

引用なし
パスワード
   こんにちは。
いつも大変参考にさせていただいています。
先日は逆方向データ削除の方法を教えて頂き
本当にありがたかったです。
その先のデータ集計で、良い方法が見つからず
皆さまのお知恵を拝借できればと思っております。

3000行くらいのデータ量で、A・B・Cのデータのかたまり(?)
が各5列づつ並んでいます。
下の例では各2列としてあります。

各データには数100行おきに同じフラグが入っています。
フラグから次のフラグまでのデータ行数がA〜Cまで
不一致ですので、それを一致させたいと思っております。
(一番少ない行数のデータに合わせ、多いデータは削除する。)

--------------------------------------------------------
  A列   B列  C   D   E   F  G

1 りんご       バナナ     みかん 
2 DATA   フラグ1  DATA フラグ1 DATA フラグ1

3 DATA        DATA      DATA
4 DATA        DATA      DATA
.
.
.
.
100 DATA  フラグ2   DATA     DATA
.
.
.
.
120 DATA       DATA フラグ2  DATA
.
.
135 DATA       DATA      DATA フラグ2
.
.
200 DATA フラグ3 

数十行後にバナナ、みかんのフラグ3はあります。

---------------------------------------------------------

今の段階では、別シートにMATCH関数とROWS関数を使って
フラグ間の行数を割り出し、その後INPUTBOXを使って
手作業で行と削除セルを入れておりますが、できれば
完全自動化を目標にしています。

----------------------------------------------------------
現在の削除マクロ(りんごのみ)↓

Sheets(1).Select

 
  Dim i, j, k, l, m As Long
    k = InputBox("何行目から?")
    l = InputBox("何行目まで?")
    m = InputBox("何行おき?")
    
  
  For i = l To k Step -m
    
    For j = 1 To 5
      Cells(i, j).Select
      Selection.Delete shift:=xlUp
      
    Next j
  Next i

-----------------------------------------------------

ヒントをいただけたら大変助かります。

よろしくお願い致します。

0 hits

【29276】3つのデータを比較して削除する方法 haramama 05/9/29(木) 13:17 質問
【29279】Re:3つのデータを比較して削除する方法 Jaka 05/9/29(木) 15:15 回答
【29288】Re:3つのデータを比較して削除する方法 haramama 05/9/29(木) 18:22 お礼
【29365】修正 Jaka 05/10/3(月) 9:20 回答
【29400】Re:修正 haramama 05/10/4(火) 13:59 お礼
【29403】Re:修正 Jaka 05/10/4(火) 14:18 発言
【29404】Re:修正 haramama 05/10/4(火) 15:00 お礼

52301 / 76737 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free