advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 4264 for オートフィルタ (0.004 sec.)
[[20050127100243]]
#score: 4241
@digest: 568a71fbfe6154feecae5d30456a229f
@id: 11621
@mdate: 2005-01-29T14:30:37Z
@size: 5337
@type: text/plain
#keywords: myfilterrow (30235), xlmanual (9771), 算" (7282), calculation (5032), イベ (3408), 手動 (2823), ベン (2791), 動計 (2631), 純丸 (2584), selectionchange (2378), ルタ (2356), トフ (2318), オー (1979), フィ (1972), 算方 (1934), ィル (1876), 計算 (1526), 動に (1481), 戻し (1415), 残念 (1317), タ、 (1294), (純 (1289), 丸) (1233), a65536 (1215), 提案 (1143), soulman (984), 再計 (975), 抽出 (973), ント (890), 自動 (887), 算に (821), autofilter (759)
オートフィルタのイベント?』(純丸)
データが1000行以上あって、すべての行に VLOOKUP関数とSUMPRODUCT関数が 入っているシートがあります。 データ検索のためにオートフィルタで行を 抽出すると、再計算に時間がかかるので、オートフィルタをONにしたら 計算を「手動」に変えるマクロを組めたらいいなと思ったのですが、イベントに オートフィルタが見つかりませんでした。オートフィルタの抽出そのものを マクロ化するより他に手はないのでしょうか? (純丸) ※ 超忙で回答に参加出来ないのに質問はしっかり。 ---- 自分でイベントを作ればよいかと思います。 (INA) ---- INAさん、こんにちは。「自分でイベントを作る」ってことがどういう作業になるのか ちょっとわからないのですが、私でも出来そうであればやってみたいので、やり方を 教えていただけますでしょうか? (純丸) ---- >オートフィルタをONにしたら これはどのような方法ですか? メニューのデータ、フィルタ、オートフィルタ ですか? それ以外の方法も使っていますか? (INA) ---- オートフィルタは「メニューのデータ、フィルタ、オートフィルタ」です。 「オートフィルタをON」という書き方がまずかったようですが、初めからA列〜L列 に 設定されています。データを抽出するのは基本的に、A列〜E列のどれか又は複数ですが、 そのデータの「抽出を実行」すると再計算に時間がかかるので、その時には計算方法を手動に したいのです。「すべて表示」に戻したら計算方法も自動に戻したいとも思っています。 (この時、時間がかかるのはやむを得ない。) 以上です。よろしくお願い致します。 (純丸) ---- 残念ながら▼マークのイベント取得は無理です。(ActiveXオブジェクトではないので) (INA) ---- そうですか、残念です。抽出のマクロを作って、▼マークではなくボタンで実行するようにしてみます。 INAさん、ありがとうございました。BeforeAutofilter とかあればいいのに、、、。 (純丸) -------- あきらめついでの思いつき。。。 >「すべて表示」に戻したら計算方法も自動に戻したいとも思っています。 抽出してる時は手動、、つまり、、行数が違う時は手動、、、 あぁぁっぁなんて勝手な解釈なんでしょう。。許してたもれ。。。 Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim MyRow As Long Dim MyFilterRow As Long If Me.AutoFilterMode = False Then Exit Sub MyRow = Me.Range("A65536").End(xlUp).Row MyFilterRow = Me.AutoFilter.Range.Rows.Count If MyRow <> MyFilterRow Then Application.Calculation = xlManual Else Application.Calculation = xlAutomatic End If End Sub (SoulMan) ---- Manさん、ごめんなさい。昼間返信したつもりだったのに更新してなかったようです。 それで、せっかく書いてもらったコードですが、残念ながら希望する動きにはなりません。 何をしても計算が手動に切り替わり自動に戻りません。 しかしちょっとヒントをいただいたので、自分で工夫してみます。ありがとうございました。 (純丸) ------ 自分でもちょっとなぁ、、っと思いました。 A列のA65536から上にアップした行と MyRow = Me.Range("A65536").End(xlUp).Row A1からフィルターの掛かった行とを見比べているので MyFilterRow = Me.AutoFilter.Range.Rows.Count そのへんの調整が必要なんだと思います。 新規のBOOKでA1から適当なリストを作って見てください。 変わると思います。 あっ、SelectionChangeだから少しはセルを移動させなきゃだめですよ。 でも、このコードを計算のイベントにも入れる必要があるような?ないような?? (SoulMan) ---- 失礼します。 該当のファイルは純丸さん個人で使われるものでしょうか。 それとも他の方も使うもの? もし個人でお使いのものであれば、どこかのセルにSelectionChangeイベントで 手動計算、自動計算の切り替えをするようにしてはいかがでしょうか。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) With Target If .Address(0, 0) <> "E1" Then Exit Sub If Application.Calculation = xlManual Then Application.Calculation = xlAutomatic .Value = "自動計算" Else Application.Calculation = xlManual .Value = "手動計算" End If End With End Sub ※オートフィルタを押した瞬間のイベントが無いってことは、行の数を数える時点では 計算が自動になっているから、計算に時間がかかる問題は解決しませんよね。 (川野鮎太郎) ------- >計算に時間がかかる問題は それ、それ、で、計算のイベントにも入れようかと思ったけど、 計算が手動だからイベントが起きない>< でも、 >「すべて表示」に戻したら計算方法も自動に戻したいとも思っています。 ぐらいは、役にたつかな?と甘い考えでした。。。失礼! (SoulMan) ---- 鮎さん、Manさん、すみません。本日体調不良で寝込んでまして、今やっとパソコンの前に 座りました。鮎さんに提案いただいた「自動-手動」の切り替えですが、イベントよりも むしろボタンでやろうかと考えてます。切り替えだけにするか、MsgBoxを使ってフィルタの 抽出までしてしまうか、思案中です。ブックは私よりむしろ他人が使うことの方が多いのですが スペックが低いパソコンが多いので、なるべく負荷の少ない方法にしたいという理由もあります。 マクロはいろいろ考え始めるとおもしろいですね。欲も出てしょうがないです。 いずれにしてもご提案ありがとうございました。返答が遅くなって失礼しました。 (純丸) ---- オートフィルタの抽出パターンが決まっているならトグルボタン。 多いならコンボボックスでフィルタのドロップダウンリストと 同じような項目を表示させて処理すればよいかと思います。 (INA) ---- なるほどINAさんのご提案が、最初にやりたかった事に近いことをやれるような 気がしますね。とにかく自分でちょっと試してみて、またわからなかったら 質問させていただきます。ありがとうございました。 (純丸) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200501/20050127100243.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 96861 documents and 607997 words.

訪問者:カウンタValid HTML 4.01 Transitional