素人がExcelVBAによる「一人働き方改革」に挑むブログスマートフォン用の表示で見る素人がExcelVBAによる「一人働き方改革」に挑むブログExcelVBAネタです。配列引数はByRefでなければなりませんSubとかFunctionの引数に配列を使用しようとしたとき、「ByVal」キーワードを付けると、こんなふうにコンパイル・エラーになる。従って、引数を配列にしたときには必然的に参照渡しになってしまう、ということだ。配列を加工して返すFunctionを使用した場合......ということは、配列を受け取って、加工して返すようなFunctionを使用した場合、もはや元の(加工前の)配列は存在しない、ということなのだろうか。やってみた次のコードで実験。Function「temper」というのは、今はやりの「改竄する」という意味w受け取った配列の第3要素を「KASU」というイカしたローマ字に改竄して返すプロシージャだ。Eachを使って全要素をイミディエイトに書き出す。temperArray(ar)で、バカ丸出しのFunctionプロシージャ「temperArray」に配列arを渡して、返り値をar2にぶち込む。elNextで、ar2の要素をイミディエイトに書き出す。elNextで、再度arの全要素をイミディエイトに書き出す。実行結果arを引数として渡して加工したときに、arそのものが加工されてしまったっぽい。おわりに気をつけないといけないなあ。»プロフィールid:akashi_keirinExcelVBAネタです。SyntaxHighlighter.all();注目記事はてなブログをはじめよう!akashi_keirinさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。