Excel VBA 質問スレ Part83 (727レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
672(1): デフォルトの名無しさん [] 2025/08/11(月) 09:10:35.62 ID:ppLV33ur(1/10) AAS
>>664
勘違いしないで欲しいのですが
そもそもVBAはアマチュアが使用している言語だから、そもそもApplication.Matchがある、WorksheetFunction以外にExcelの関数のオブジェクトがある、とは知らない人が非常に多いと思います。
気持ちいい、気持ち悪いの問題ではないです。
それに、Application.関数名で使用できない関数は非常に多いのではないでしょうか?
でもExcelである以上、worksheet関数にも熟知して、使用できる方がコードも完結で、動作も早いのではないでしょうか?
674: デフォルトの名無しさん [] 2025/08/11(月) 10:10:32.15 ID:ppLV33ur(2/10) AAS
arr = Range(範囲)で取り込んで処理をして結果をシートに貼り付けるのはとても高速だと思う
だけど今度は数式を多用している場合はそのまま貼り付けるわけにはいかない泣
680: デフォルトの名無しさん [] 2025/08/11(月) 15:45:14.02 ID:ppLV33ur(3/10) AAS
= A1:A100 = 条件
というのは真偽値の配列を返しているのですね
これを活かして
arr = Evaluate(アドレス & “=“”条件”””)
をすればループをしなくても真偽値が取得できる
worksheet関数のFilterの正体は、配列に対して二次配列の真偽値がTrueの行だけを抽出しているだけだった
681: デフォルトの名無しさん [] 2025/08/11(月) 15:45:48.34 ID:ppLV33ur(4/10) AAS
>>677
10秒の例を出すのがおかしい
682(1): デフォルトの名無しさん [] 2025/08/11(月) 15:46:25.33 ID:ppLV33ur(5/10) AAS
>>678
Power Queryを使いましょう
684: デフォルトの名無しさん [] 2025/08/11(月) 16:17:24.33 ID:ppLV33ur(6/10) AAS
>>683
.RefreshAllで全て更新くらいしか知りません
しかもバックグラウンドの更新のチェックを外す必要があります
689(2): デフォルトの名無しさん [] 2025/08/11(月) 18:37:53.96 ID:ppLV33ur(7/10) AAS
今更ながらRange.RowsとRange.Columnsを知った
やっと変数rngの中のセルの場所からrngの行全体や複数行の指定の方法を知った
rngの中の指定の列から指定の列までの範囲の指定の方法も知った
もっと早く教えて欲しかった
どのサイトを見てもRange(セル)かRange(Cells,Cells)かCellsばかり
.EntireRowと.EntireColumnは専ら行の高さや列幅変更の時に使用するだけ
.Intersectも正しくは交差するセルの範囲取得なのにもっぱらチェンジイベントで
If Not Intersect(Target,対象範囲) Is Nothing Thenでチェンジしたセルが対象範囲内か調べるだけ
AIに聞いても答えてくれない
692: デフォルトの名無しさん [] 2025/08/11(月) 19:25:51.27 ID:ppLV33ur(8/10) AAS
>>691
やっとオブジェクトの階層?を理解したレベルなんです
サイトを引用しますが
https://papasensei365.com/excel-filtermode-showalldata/
例えばテーブルをshowalldataした時にエラーになる事があります
このサイトの結論はshowalldataする前にテーブルをセレクトするとエラーにならないとか、tbl.autofilter.showalldataするほどでもない、とか、AIに聞いてもshowalldataはworksheetのメソットで、それ以外ではエラーになる(嘘)とか言いますが、tblのオートフィルターはtbl.autofilterだから、tbl.autofilter.showalldataしか正しくないです。
やっとローカルウィンドウの正しい見方が分かりました。
693(2): デフォルトの名無しさん [] 2025/08/11(月) 19:26:26.31 ID:ppLV33ur(9/10) AAS
>>691
オブジェクトブラウザの見方がわからないです
クラスとかメンバーとか分かりません
694: デフォルトの名無しさん [] 2025/08/11(月) 19:53:39.02 ID:ppLV33ur(10/10) AAS
dicのアイテムに複数の値を代入したくて、配列をアイテムにするとか、クラスモジュールを配列にするとか、いろいろ考えてきましたが、正しくは
dic.add key rng.rows(i)
dic(key) = Union(dic(key),rng.rows(i))
あとはdic(key).areas(i).rows(j)
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.038s