[[20160917002907]] 『一定の条件のもとで、表内のセルを削除し、上に詰』(どす) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『一定の条件のもとで、表内のセルを削除し、上に詰める方法』(どす)

IF関数を使って、複数のデータシートから特定のデータを抽出しています。条件に合わなかったDATAはFALSEとなりますが、それを削除して上に詰めていく必要があります。最終的には中にあったFALSEの分だけ、それぞれの列の長さが短くなります。これを実現させるマクロには、どのようなものがあるでしょうか。

例:元のデータ

	A	B	C	D
1	赤い	FALSE	青い	白い
2	FALSE	FALSE	赤い	青い
3	青い	赤い	FALSE	FALSE
4	FALSE	白い	青い	白い

例:上の表からFALSEのセルを削除した最終版

	A	B	C	D
1	赤い	赤い	青い	白い
2	青い	白い	赤い	青い
3			青い	白い
4	 			

よろしくお願いします。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 こんばんわ。

 FALSEのセルだけ省いて間を詰めるならソートは使えないので、FALSEのセルだけUNIONで繋いで一括削除するか、
 配列に残すデータだけ順に格納して最後に一括で書き出すかですね。

 まずはご自身でトライされてみて、躓いたり分からない部分があれば、都度質問されてはどうでしょうか。

(sy) 2016/09/17(土) 01:20


 もし、登場するのが 文字列とFALSEだけで、TRUE というものがないのであれば

 ・A:D列を選択
 ・ホームタブ 検索と選択の 条件を選択してジャンプ(S) で、数式(F) 、チェックボックスを理論値(G)のみにチェックしてOK。(数値、文字、エラー値のチェックをはずす)
 ・削除 -> セル削除 -> 上方にシフト

 これで上詰めになります。
 マクロ記録をとればコードが生成されます。

(β) 2016/09/17(土) 04:06


 そっか、βさん提示の方法が一番簡単で、且つ処理も早そうです。
 すいません。
 私のは無視して下さい。

(sy) 2016/09/17(土) 06:06


早速のお返事、ありがとうございました。やってみます!
(どす) 2016/09/17(土) 06:19

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.