Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


68848 / 76738 ←次へ | 前へ→

【12416】Re:再チャレンジ!
回答  角田 WEB  - 04/4/2(金) 17:21 -

引用なし
パスワード
   つんさん、こば〜
>Function mySub2(arg_r As Range) As String
>Function mySub(argR1 As Range, arg_str As String) As Long
これは完璧です。でも‥‥‥
>これで、「=mysub(A5,mysub2(B1:B4))」という形で使ってみました。
という使い方では、2つに分けた意味がありません。
ひとつの関数で結合&分解しているのと同じ負荷が掛かります。
つんさんが最初に作ったのと同じ様に個々のセルで毎回毎回、対象範囲を
処理してしまいますから‥‥‥
>集計表ですが、計算対象範囲は、1列430行で、
>計算式を入れる範囲は、16行×48列=768セル
768セル×参照先430セル⇒33万回

先ず、作業「行」をひとつ用意して、その行の各セルに例えば
[B10] =mysub2(B1:B4)
といった風にして、『その列の文字列合体』結果を出します。
それで、集計結果のセルには
 =mysub(A5, $B$10 )
とします。

こうすると、元データの1列を舐める処理は、データの列数分の回数だけで済みます
集計セルからは、[B10]などの単一セルを参照するだけなので、集計セルの数と
同じ回数しか参照しませんね。
>集計表ですが、計算対象範囲は、1列430行で、
>計算式を入れる範囲は、16行×48列=768セル
mysub2 ‥‥‥ 48×430⇒20640
mysub ‥‥‥ 768×1 ⇒  768
(計)            21408回

セル参照処理を31万回も省けます。
0 hits

【12115】ユーザー定義関数について つん 04/3/24(水) 12:57 質問
【12119】Re:ユーザー定義関数について Jaka 04/3/24(水) 13:56 発言
【12120】Re:ユーザー定義関数について こうちゃん 04/3/24(水) 14:18 発言
【12124】Re:ユーザー定義関数について つん 04/3/24(水) 14:32 発言
【12138】自動再計算をやめて・・・ つん 04/3/24(水) 19:30 お礼
【12160】Re:ユーザー定義関数について つん 04/3/25(木) 15:07 お礼
【12176】Re:ユーザー定義関数について 角田 04/3/25(木) 18:47 回答
【12187】Re:ユーザー定義関数について つん 04/3/26(金) 9:19 発言
【12410】再チャレンジ! つん 04/4/2(金) 16:15 質問
【12415】Re:再チャレンジ! Jaka 04/4/2(金) 17:17 発言
【12464】やっぱ違ってた。 Jaka 04/4/5(月) 13:04 発言
【12465】え?どこが? つん 04/4/5(月) 13:31 お礼
【12466】忘れてた・・・・ つん 04/4/5(月) 13:44 発言
【12470】Re:忘れてた・・・・ Jaka 04/4/5(月) 16:00 発言
【12416】Re:再チャレンジ! 角田 04/4/2(金) 17:21 回答
【12428】Re:再チャレンジ! ni 04/4/2(金) 21:47 発言
【12474】検証中 つん 04/4/5(月) 16:40 お礼
【12476】Re:検証中 ni 04/4/5(月) 17:34 発言
【12479】ああああ!(>_<) つん 04/4/5(月) 19:11 発言
【12484】出来ました! つん 04/4/6(火) 9:34 お礼
【12467】Re:再チャレンジ! つん 04/4/5(月) 13:47 お礼
【12469】Re:再チャレンジ! 角田 04/4/5(月) 14:46 回答
【12472】Re:再チャレンジ! つん 04/4/5(月) 16:34 お礼

68848 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free