Excel VBA質問箱 IV

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

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


69575 / 76738 ←次へ | 前へ→

【11681】Re:列全体を選択したときの高速処理
質問  カド E-MAIL  - 04/3/14(日) 12:22 -

引用なし
パスワード
   皆さん こんにちは。

教えていただいた下記コードですが、私には非常に高度に見えます。
どうしても気になるので教えてください。

(1)
これは選択範囲の中で使用されているセルをまとめて、
bbという名前の範囲を設定するということですよね。

(2)
これは、bbの範囲の各セルの値をまとめて一気にaaに代入するということですよね。
このaaとはいったい何なのですか?? aaというオブジェクト??

(3)
UBound(aa, 1) この1はどう言う意味ですか??
UBound(aa) これだったら 直感的にわかる気がするのですが。

(4)
ここより前はaaという記述しかなかったのに、
どうして急にaa(i, 1)という記述に変わったのですか?

(5)
(2)の時もそうでしたが、どうしてaaにはValueがなくてbbにはあるのですか?

(6)
どうしてこの後処理は必要なのですか?
aaには必要無いのですか?

以上たくさん書きましたが、どのようなサイトあるいは本を見れば、このような
高度?なコードについて勉強できますでしょか?

どうかご教授ください。

>  Dim i As Long
>  Dim aa As Variant
>  Dim bb As Range
>  
>'  1,よけいな範囲は処理しない
>  Set bb = Intersect(Selection, ActiveSheet.UsedRange) ←(1)
>  
>'  2,セルへのアクセスはできるだけ少なく
>  aa = bb.Value ←(2)
>  
>  For i = 1 To UBound(aa, 1) ←(3)
>    aa(i, 1) = StrConv(aa(i, 1), vbNarrow) ←(4)
>  Next i
>  
>  bb.Value = aa ←(5)
>  
>  Set bb = Nothing ←(6)
0 hits

【11521】列全体を選択したときの高速処理 カド 04/3/10(水) 21:37 質問
【11523】Re:列全体を選択したときの高速処理 Jカーター 04/3/10(水) 22:14 回答
【11524】Re:列全体を選択したときの高速処理 Jカーター 04/3/10(水) 22:17 発言
【11526】Re:列全体を選択したときの高速処理 カド 04/3/10(水) 23:07 質問
【11529】Re:列全体を選択したときの高速処理 Jカーター 04/3/10(水) 23:31 発言
【11532】Re:列全体を選択したときの高速処理 カド 04/3/10(水) 23:41 お礼
【11681】Re:列全体を選択したときの高速処理 カド 04/3/14(日) 12:22 質問
【11682】Re:列全体を選択したときの高速処理 Jカーター 04/3/14(日) 15:23 発言
【11684】Re:列全体を選択したときの高速処理 カド 04/3/14(日) 16:33 お礼
【11686】Re:列全体を選択したときの高速処理 カド 04/3/14(日) 19:09 発言

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