藍井 優 と申します。ヘルプで動的配列とか、、過去ログで調べてはいるのですが、自分がやろうとしていることが、 動的配列で解決するのかも、良く分からず2日前から悩んでいます。 どうぞ、ご教授をお願いいたします。 やろうとしていることは、チェックボックスに値が入っているか、付け忘れていないか。の入力ミスチェックです。 項目が沢山あるので、 1)最初にチェックボックスに何の内容が入っているかをvarChkItem()に取得してました。 2)例varChkItem(1,*)を1つの塊としてvarChkItem(1,1)又はvarChkItem(1,2)のなか…でvarChkItem(1,5)で 1つでも、チェックしていない項目が見つかったときに「A.サンプルの種類」に空白があります。のエラーを 出したいので、2次元配列にしました。 同様のエラーチェックをvarChkItem(2,*)、varChkItem(3,*)、varChkItem(4,*)、varChkItem(5,*)でやるため、 ループで回そうと考えていますが、下記に記載させていただいているコードでは、右側の配列(*のところ)の値が 代わるので、「T003型が一致しません」のエラーがでます。 どのように直せば、全ての項目がチェックできるようになるか、教えていただけないでしょうか。よろしくお願いいたします。 '===== REM {ここより項目の入力チェック} ===== Dim i ,t,s As Integer Dim intChk As Integer Dim ErrorFlg() As Integer Dim ErrorFlgMsg As String REM 条件取得のための値を取得 REM ===A.サンプルの種類=== Dim varChkItem(1To 5,1To 7) As Variant varChkItem(1,1) = doc.GetItemValue("A_kind") '--\種類 varChkItem(1,2) = doc.GetItemValue("A_SaveMethod") '--\保存方法 varChkItem(1,3) = doc.GetItemValue("A_Temperature") '--\保存方法\温度 varChkItem(1,4) = doc.GetItemValue("A_Shading") '--\保存方法\遮光 varChkItem(1,5) = doc.GetItemValue("etc1") '--\保存方法\その他条件 REM ===B.サンプルの由来=== varChkItem(2,1) = doc.GetItemValue("B_Me") '--\由来 ' wkInItem = varChkItem(2,1) '(@)動物 varChkItem(3,1) = doc.GetItemValue("B1_KindUsed") '--\種類 varChkItem(3,2) = doc.GetItemValue("B1_Purchase") '--\保存方法 varChkItem(3,3) = doc.GetItemValue("B1_Safety") '--\保存方法\温度 varChkItem(3,4) = doc.GetItemValue("B1_BreeMethod") '--\保存方法\遮光 varChkItem(3,5) = doc.GetItemValue("B1_SampProMethod") '--\保存方法\その他条件 varChkItem(3,6) = doc.GetItemValue("etc20") '--\保存方法\遮光 varChkItem(3,7) = doc.GetItemValue("etc21") '--\保存方法\その他条件 '(A)細胞 varChkItem(4,1) = doc.GetItemValue("B2_KindUsed_2") '--\種類 varChkItem(4,2) = doc.GetItemValue("B2_Purchase_2") '--\保存方法 varChkItem(4,3) = doc.GetItemValue("B2_Safety_2") '--\保存方法\温度 varChkItem(4,4) = doc.GetItemValue("B2_BreeMethod_2") '--\保存方法\遮光 varChkItem(4,5) = doc.GetItemValue("B2_SampProMethod_2") '--\保存方法\その他条件 varChkItem(4,6) = doc.GetItemValue("etc30") '--\保存方法\遮光 varChkItem(4,7) = doc.GetItemValue("etc31") '--\保存方法\その他条件 '(B)試薬 varChkItem(5,1) = doc.GetItemValue("B3_Purchase_3") '--\種類 REM ===チェック=== i = 1 '初期値 t = 1 s = 0 intChk = 0 For i = 1 To Ubound(varChkItem(,)) For t = 1 To Ubound(varChkItem(,)) '配列中身のチェック(チェックボックスの中身) wkCheItem = varChkItem(i,t) For s = 0 To Ubound(wkCheItem) If wkCheItem(s) = "" Then intChk = intChk Else intChk = intChk +1 Exit For End If ' intChk = 0 のときは、チェックチェックボックスが全て空白の時 If intChk = 0 Then ErrorFlg(0) = 1 ErrorFlgMsg = "空白です" & Chr$(13) Else End If Next Next Next