[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『一定の条件のもとで、表内のセルを削除し、上に詰める方法』(どす)
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
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.