トップページ
>
プログラム
>
2017年02月15日
>
je/ZAYb+
書き込み順位&時間帯一覧
4 位
/246 ID中
時間
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Total
書き込み数
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
5
10
使用した名前一覧
書き込んだスレッド一覧
デフォルトの名無しさん
Excel VBA 質問スレ Part45 [無断転載禁止]©2ch.net
書き込みレス一覧
Excel VBA 質問スレ Part45 [無断転載禁止]©2ch.net
725 :
デフォルトの名無しさん
[sage]:2017/02/15(水) 20:52:53.63 ID:je/ZAYb+
>>720,722
ほとんどの場合引数の型が確定しないので結局Variantだらけになる
Excel VBA 質問スレ Part45 [無断転載禁止]©2ch.net
745 :
デフォルトの名無しさん
[sage]:2017/02/15(水) 22:05:34.61 ID:je/ZAYb+
>>727
確定しないことがほとんどさ
Excel VBA 質問スレ Part45 [無断転載禁止]©2ch.net
748 :
デフォルトの名無しさん
[sage]:2017/02/15(水) 22:15:25.45 ID:je/ZAYb+
まあ定量的にいうと、手元にある大きめのbasファイルで As xxx を数えてみたら
As Variant 282個
As その他 102個
だった。
「ほとんど」というのは言い過ぎだったかも。
Excel VBA 質問スレ Part45 [無断転載禁止]©2ch.net
749 :
デフォルトの名無しさん
[sage]:2017/02/15(水) 22:19:05.17 ID:je/ZAYb+
別のbasファイルでは
As Variant 238個
As その他 17個
だった。こっちは「ほとんど」と言える。
Excel VBA 質問スレ Part45 [無断転載禁止]©2ch.net
754 :
デフォルトの名無しさん
[sage]:2017/02/15(水) 22:46:22.73 ID:je/ZAYb+
>>747
値の型って何?
Variant変数に格納された値自体の型ってことなら、コントロールは難しいと思うよ。
Excel VBA 質問スレ Part45 [無断転載禁止]©2ch.net
766 :
デフォルトの名無しさん
[sage]:2017/02/15(水) 23:17:28.43 ID:je/ZAYb+
>>755
それはエラーになるのが正解
というか自ら進んでエラーを出して止まるべき
俺のプログラムがほとんど As Variant だと言ったけど、それはVariantであるべきプログラムだから。
Excel VBA 質問スレ Part45 [無断転載禁止]©2ch.net
769 :
デフォルトの名無しさん
[sage]:2017/02/15(水) 23:20:13.95 ID:je/ZAYb+
>>762
普通に考えると
Long <= Integer = Byte < Variant の順だと思う
Excel VBA 質問スレ Part45 [無断転載禁止]©2ch.net
773 :
デフォルトの名無しさん
[sage]:2017/02/15(水) 23:30:58.50 ID:je/ZAYb+
>>770
よく考えて必然的に Variant が殆どになる場合もあるけどね
Excel VBA 質問スレ Part45 [無断転載禁止]©2ch.net
775 :
デフォルトの名無しさん
[sage]:2017/02/15(水) 23:45:21.19 ID:je/ZAYb+
>>774
複数のユーザーが決める違う型の値を受け取る共通ライブラリを作る時。
Excel VBA 質問スレ Part45 [無断転載禁止]©2ch.net
777 :
デフォルトの名無しさん
[sage]:2017/02/15(水) 23:58:29.83 ID:je/ZAYb+
>>776
VarType で型を判別して分岐〜、なんてやってたら引数が複数の時は
組み合わせが爆発してしまうのでそれは(積極的には)やらない。
関数の単一目的性を守ってれば「処理できない型の値を入れたらエラーになる」という方針で破綻しないよ。
※このページは、
『2ちゃんねる』
の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合は
メール
をしてください。対応します。