No. | 質問・回答 | おれい |
|
[121842] excelのマクロにフィルターは使えますか? |
|
|
使用しているOS: Windows Vista
使用しているPCのメーカー/機種/型番:emachines
関係するアプリケーション名/バージョン:excel 2007
こんにちは。
マクロについて質問します。
マクロを組んで、同じ形式のデータを表タイプに編集してます。
そのときに、オートフィルターで抽出した特定のデータに特定の処理をしたい。
たとえば、Aを含む文字列はフォントの色を緑色にするとか・・・
データは毎回全体の量もちがうし、該当データの件数もちがいます。
しかし、これがうまくいきません。
毎回エラーになってしまうため、マクロを二つにわけて
その部分だけ手作業をしています。
オートフィルターはマクロでは使えないのでしょうか?
よろしくお願いします。
やえざくら
やえ (未登録) 2011年4月20日14:22
|
|
|
|
[121843] |
使えると思いますよ。
というか マクロなら フィルタを使わずに 自分で 処理するようにしてやればいいんじゃないですか?
taknt (474) 2011年4月20日15:17
|
|
|
|
[121870] |
こんにちは。
回答ありがとうございます。
ルーティン業務ですが、
参照ファイルを持ってきたり、
小計集計したり、結構作業が盛りだくさんです。
そこでマクロ一発出力を狙ったんですが、
どうしてもオートフィルターでのデータ抽出がうまくいかない。
マクロでフィルターでのデータ抽出はもともと無理なのだとわかれば、
そこであきらめて、毎回手作業しますが、
フィルターでのなにか注意事項というか、
コツがあって、そこを抑えればマクロに組めますよというアドバイスが
あればとおもい相談しました。
フィルターでデータを選ぶと、
毎回座標が変わってしまうから、
やっぱりマクロに組み込むことは無理なのでしょうか?
よろしくお願いします。
やえ
や (未登録) 2011年4月24日09:36
|
|
|
|
[121885] |
フィルターで非表示になった行は 使用しないとするならば
If Not Rows(a).Hidden Then
a・・・行
というように その行が 非表示かどうか判定して 使うことになります。
これだったら その条件のところで フィルターの条件を入れたほうが わかりやすいでしょう。
使えないこともないけど 使うこともないよなぁって感じです。
taknt (474) 2011年4月26日14:13
|
|
|
|
[121886] |
回答ありがとうございます。
>使えないこともないけど 使うこともないよなぁって感じです。
すいません、この意味がわからないんです。
^_^;
フィルターではなく、別の方法でデータを選別したらいいという意味でしょうか?
それとも、それくらい毎回手でやればいいんじゃないってことですか?
あるデータがあって、毎月同じ加工をする。
手順自体は簡単でも、工程がいくつもあって面倒。
おまけにミスにもつながりやすいほど、データが似ていたり、
件数が多かったりする。
そういうときにマクロで手順を組んで自動作業にする。
という使い方ではないのですか?
基本的なことですいません。
やえ
やえ (未登録) 2011年4月26日16:56
|
|
|
|
[121887] |
フィルタは ただ単に非表示にするだけですから。
それは 人間が見て 判断しやすいというだけのことです。
もちろん コンピューターにも 非表示を 判断しろといえば 判断しますが
非表示にする条件があるなら その条件でも 判断できるのです。
だから このフィルタを使っても 使えるけど あまり意味がないよ ということです。
>そういうときにマクロで手順を組んで自動作業にする。
>という使い方ではないのですか?
そうですよ。
そのために 作るのですから。
ただ、その作り方の問題だけです。
どのように作ったら 効率がいいのか、違う人が 見ても 修正しやすいプログラムになるのか などということです。
taknt (474) 2011年4月26日18:40
|
|
|
|
[121903] |
こんにちは。
>フィルタは ただ単に非表示にするだけですから。
>それは 人間が見て 判断しやすいというだけのことです。
なるほど。
非表示にするだけの機能なんですね。
当該データだけに作業をさせたいときなんかに使うものだと。
わかったような気がします。
検討しなおします。
そこを押さえるととってもいいプログラムになっているような気がします。
ありがとうございました。
やえ
やえ (未登録) 2011年4月28日17:33
|
|
|
|
( 参照数:2903 日平均:0.6 ) |
|
〜 回答の受付を終了しました 〜 |