* n=0でエラー発生 [#ef248c7b]
 |RIGHT:|LEFT:|c
 |~ページ|[[OpenOffice.org FAQの登録ページ]]|
 |~投稿者|とくさん|
 |~分類|#listbox3(Q&A,faq03,class)|
 |~優先順位|#listbox3(普通,faq03,priority)|
 |~状態|#listbox3(完了回答待ち,faq03,state)|
 |~状態|#listbox3(完了,faq03,state)|
 |~カテゴリー|#listbox3(Calc 表計算,faq03,category)|
 |~投稿日|2010-08-07 07:21:48 (土)|
 |~OS|WindowsXP|
 |~依存するページ||
 |~バージョン|#listbox3(3.2.0,faq03,version)|
 
 ** メッセージ [#lf2f26a7]
 |LEFT:|c
 |回答ページでは行末に「~」を付加する必要はありません|
 下記のコードのn=0のところで~
 『許可されない値またはデータ型、定義された範囲外のインデックス。』~
 というエラーが出ます。~
 なんでや!という感じでまったく原因がわかりません。~
 どなたかご指導をお願いいたします。~
      Public Redt(15,1000) As String
      Public Kefuk(8,9) As String
      Dim i As Integer
      Dim n As Integer
      i = 0
      Do While Redt(0,i) <> ""
       n = 0
       Do While Kefuk(0,n) <> ""
         If(  Redt(4,i) = Kefuk(3,n) And Redt(8,i) = "xxx" )Then
              Redt(11,i) = Kefuk(4,n)
              Exit Do
         End If
         n = n + 1
       Loop
       i = i + 1
      Loop
 
 ----
 ***無題 [#q217097e]
 >ike@九州 (2010-08-07 09:47:10 (土))~
 ~
 i、n とも配列の上限(1000 及び 9)が設定されてます~
 ~
 Redt(0,i) Kefuk(0,n) は超えたらエラーになりますね。~
 
 //
 ***上限なしってできますか? [#c2f99d04]
 >とくさん (2010-08-07 09:53:45 (土))~
 ~
 ご指摘の通り上限を超えていたようです。~
 Kefuk(8,10)と修正したらエラーはなくなりました。~
 申し訳ありません。~
 あと、上限なしってできるんでしょうか?~
 
 //
 ***配列について [#y0aecac9]
 >M.Kamataki (2010-08-09 15:20:03 (月))~
 ~
 >あと、上限なしってできるんでしょうか?~
 ~
 意図するところが、よくわかりませんが、下記をご覧ください。データフィールド (配列) のインデックスについて、最小値、最大値などの紹介があります。また、データフィールドのサイズの動的変更の紹介もあります。プログラミングの参考になるでしょうか。~
 ~
 http://wiki.services.openoffice.org/wiki/JA/Documentation/BASIC_Guide/Arrays~
 
 //
 ***おそくなりました、完了です。 [#m34e5672]
 >とくさん (2010-08-27 13:21:40 (金))~
 ~
 遅くなりましたが、完了にさせていただきます。~
 
 //
 #article