※ ChatGPTを利用し、要約された質問です(原文:VBA 配列数式的に一括してRangeを扱かえ…)
VBA配列数式的に一括してRangeを扱える方法とオブジェクト変数の取扱いについて
2013/04/08 23:12
このQ&Aのポイント
VBAを使用して配列数式的に一括でRangeを扱う方法や、オブジェクト変数の取扱いについて教えてください。
具体的には、シート関数のIsEmpty関数を配列数式的に一括で使う方法や、オブジェクト変数を配列で宣言し、全ての要素と各要素のobject内に対してNothingを適用する方法について知りたいです。
VBEの挙動や、素直な描き方を確認しつつ、VBAにおける配列数式とオブジェクト変数の使い方について詳しく教えてください。
毎度お世話になります。
質問はオブジェクト変数の取扱方について、
と、言えると思います。
具体的には取りあえず2つ
1、シート関数で云うところのif(IsEmpty("A:A"),結果1,結果2)
的な事ってそのまま配列数式的に一括で出来ますか?
(※注:「なんちゃって」してぶっ込んでますね、IsEmptyなんて構文、シートにはないかも 汗)
ここ数日、いろんな方に対して書き込みを行っていたのですが、
見ていると、それらしいのを見つけたのです。
が、ちんぷんかんぷんで…
IF構文とかで素直な描き方が出来たら良いな…
と、感じます。
2、object変数 仮に変数名を「オブジェクト」としますが、
Dim オブジェクト() As object
と、配列で宣言して
SET オブジェクト = Nothing
で、配列要素の全てと、各要素のobject内に対してNothingが適応されますか?
そんなこと自分でやって試せば、VBEの挙動で解るヤン!! ぷんぷん 怒り
と、突っ込みが来そうなんですが、
お教え下さい。
質問の原文を閉じる
質問の原文を表示する
お礼
迅速なご対応、痛み入ります。 >Excelの機能を融合的に活用するとい… 全く同感です。 >今回の設問に答えるなら、出… 残念です、 VBAのループも、もしかしたら 並列実行に展開されているのかも知れないですが、 望みは薄そうですよね? シート関数、特に配列数式が早いのは コンパイルコードのせいもあるでしょうが、 並列化の恩恵だと 勝手に思っています。 スペシャルセルズのように、 ループ無しに処理できるものは そのコード単体では 内部的には 並列処理される可能性も あるでしょうが、 ユーザーが書いたコードまで 並列化して貰えるとは、… インタプリタです(ヨネ?)しね、 並列処理前提の環境が 折角定着しているので、 なるだけ並列処理の 恩恵を授かりたく思いました。 甘かったですね。 いや!!、でも、 「Collection」重白いですね。 事前に構造定義して 組み立てて、組み立てて、静的に構築しなくても 構造体が扱えそうに思いました。 最悪、テキスト形式のコードを吐かせて、それをインクルードすることでしか 構想対や構造体名、構造体要素数やメンバー(て、云うんですか?)の変数の型などを 動的に思いのままに扱えないのかな? と、思っていました。 (※注:要素数は 限定的ですが、動的に変えられますね、失礼しました) これは… ひょっとしたらひょっとしますよね? 目がキラキラです。 仰るとおり、 「やってもやっても、まだ、新しい面白い発見がありますねぃ。」 ですね (※注:「やってもやっても」と、いえる程やっていませんが… 汗) 学ばさせて頂きました、 わくわくが増えました。 有り難うございます。