プロが教えるわが家の防犯対策術!

Rang(”B10”)~Range(”F5000”)にかけての表があります。

c列D列でフィルターを掛けた時、E列の内容をF列に書き替えたいのですが、一回でやる方法はないでしょうか?
私は、1行1行しかコピーできないので時間がかかりすぎて困っています。
1度でコピーする方法があれば教えてください。
よろしくお願いいたします。

A 回答 (3件)

こんにちは



ご質問文には明記されていませんけれど、
『フィルターをかけた際に、表示行だけ、E列の値をF列にコピペしたい』
ということでしょうかね。

>1度でコピーする方法があれば教えてください。
1回のコピペで済ます方法は思いつきませんでした。
(条件が複雑でなければ、1回でも済ませられると思いますが)
とは言え、作業列を利用すれば、2回のコピペであれば済みそうです。
マクロを利用すれば、ボタンを1回押せばコピペできるようにもなりますが、こちらに関しては質問者様がマクロを扱えることが前提になります。

手操作の方法のプリミティブな一例を示すならば・・
例えば、作業列1に行番号を並べておきます。
(単純に、1、2、3・・・となるだけです)
フィルタをかけた状態で、作業列1を作業列2にコピペ(1回目)
(これにより、作業列2には表示行の番号のみがペーストされます)
予め、作業列3に
「行番号が作業列2にあれば、E列を、無ければF列を表示する」式を入れておきます
フィルタを外した状態で、作業列3をF列に「値をペースト」でコピペ(2回目)
以上の操作で、ご希望の結果になるものと思います。

※ あくまでも「値」ベースですので、E列やF列に関数式などが設定されている場合は、その式はコピペできません。(値ベースでのコピペになります)
※ 上記はあくまでも一例ですが、
>c列D列でフィルターを掛けた時
というのが比較的単純なフィルターであるなら、条件入力用のセルを設けておいて、作業列3で直接その条件で振り分けてしまえば、作業列も一つで済みますし、コピペも1回のみで済むようになると思います。
(条件入力だけで済むので、フィルター操作も不要になるでしょう)


マクロを利用する場合は、ご質問文通りに
 「表示行の場合に、E列の値をF列に記入する」
というものを作成すれば済むでしょう。
    • good
    • 0

すみません。

言ってることが分かりました。

その場合は、F列にE列を全部コピーし、
フィルタの条件で
C列の条件を反転し、F列を削除
フィルタを一旦クリアし、
D列の条件を反転し、F列を削除
することで、
フィルタを解除すれば、
C列とD列の元の条件のデータだけが
残ることになります。

F列に元のデータがあると
消すわけにいかないですが…
    • good
    • 0
この回答へのお礼

ありがとうございます。
やはり何度か作業をしないとだめなんですね!
それと説明が下手で、誠に申し訳なかったです。
ありがとうございました。

お礼日時:2024/02/02 00:50

え?


フィルターかけたら、E列をコピーして、F列にペーストすれば、
フィルターして表示されている行だけがF列にコピーされますよ。
そういう意味ではないんですか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
説明不足で済みません。
ちょっと違うようです。

お礼日時:2024/02/02 00:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A