|
▼ponpon さん:
こんばんは。
> 朝からずっとやっています。
> 新しいブックで試したらうまくいきました。
>しかし、今までのブックに貼り付けて実行するとうまくいきません。
>
> Private Sub UserForm_Initialize()
>
> Dim idx As Long
> Set cls = New Class1
> With cls
> .init_lbl 15 'ラベルの数
For idx = 1 To 15 '←ラベルの数だけループ
.set_lbl idx, Controls("Label" & idx+33)
> Next
> .init_txt 60 'テキストボックスの数
> For idx = 1 To 60 'テキストボックスの数だけループ
> .set_txt idx, Controls("TextBox" & idx)
> Next
> End With
> Set cpy_lbl = Nothing
>
>この部分を挿入して実行すると 「インデックスが有効範囲にありません」とでます。
>このエラーはよくお目にかかります。たぶんオブジェクトの名前が間違っているのだろうと思っていろいろと考えたのですが解決できません。
> ちなみにユーザーフォームの名前は「form時間割」です。
> どんなことが考えられるか 助けてください。
> 今から出かけますので後は夜になると思います。
>
上記のように変更してみて下さい。
.set_lblとset_txtの引数は、整理番号とオブジェクトと考えて下さい。
よって、idxは必ず、1から始まります。
|
|