|
皆さん、おはようございます。
>
>>>>MyWeek = Array("日", "月", "火", "水", "木", "金", "土")
>>>> For i = 1 To 7
>>>このコードで上の方ですが、エラーが出ました。
>
>モジュールの先頭に、
>
> Option Base 1
>
>を忘れてませんか?
>
>>>MyWeek = Array("", "日", "月", "火", "水", "木", "金", "土")
>>>に変更すると、正しく動きました。
>>>こんな考えで正しいのでしょうか?
>>元々のサンプルコードが間違えていたんでしょうね。
>>Helpより
>>>Array 関数を使用して作成した配列のインデックスの最小値は、常に 0 です。
>>>ほかの種類の配列とは異なり、Option Base ステートメントに最小値を指定
>>>しても影響を受けません。
>え〜?
>'//////////////////
>Option Base 1
>Sub test()
> Dim dt
> dt = Array(1, 2)
> MsgBox dt(1)
>End Sub
>'//////////////////
>これで試すと、Base 1の時は1を、Base 0の時はちゃんと2を返しますけど・・・
Option Base 1
Sub test()
Dim myarray As Variant
myarray = VBA.Array(1, 2)
MsgBox LBound(myarray) & "----" & UBound(myarray)
End Sub
とすると、確かに
>>>Array 関数を使用して作成した配列のインデックスの最小値は、常に 0 です。
となりますけどね!!
|
|