我全你添加11个字符,程序就可以运行了!For i = 1 To 10
    For j = 1 To 3
        For k = 1 To 3
            l = i & j & k
            if Me.Controls("option" & l).value=True then                    .......            end if
        Next
    Next
Next********************************************************************
坚决打击倒分者。热烈欢迎大家做广告。本人推荐站点如下:
www.vbhelp.net
www.codeguru.com
www.easthot.net

解决方案 »

  1.   

    其实我觉得如果你有很多同样的控件,还是使用控件数组比较方便有同样的控件名,利用控件的 index 属性访问不同的控件方法:
    在开始时在窗体上放置一个控件,设置它的index属性为0在程序中需要加载一个就用 load option(i+1) ''假设option是你的控件名访问时,就是 option(i+1).方法  卸载时用 unload option(i+1)
      

  2.   


    CallByName 函数      执行一个对象的方法,或者设置或返回一个对象的属性。语法CallByName(object, procedurename, calltype,[arguments()])CallByName 函数的语法有以下部分:部分 描述 
    object 必需的;变体型(对象)。函数将要执行的对象的名称。 
    procedurename 必需的;变体型(字符串)。一个包含该对象的属性名称或者方法名称的字符串表达式。 
    calltype 必需的;常数。一个 vbCallType 类型的常数,代表正在被调用的过程的类型。 
    arguments() 可选的:变体型(数组)。 
    说明CallByName 函数用于获取或者设置一个属性,或者在运行时使用一个字符串名称来调用一个方法。在下面的例子中,第一行使用 CallByName 来设置一个文本框的 MousePointer 属性,第二行得到 MousePointer 属性的值,第三行调用 Move 方法来移动文本框:CallByName Text1, "MousePointer", vbLet, vbCrosshair
    Result = CallByName (Text1, "MousePointer", vbGet)
    CallByName Text1, "Move", vbMethod, 100, 100
      

  3.   

    Me.Controls("")集合一样方便呀,而且好很直观,如果与控件数组结合使用,则可以摸拟控件的两维数组!甚致多维数组!!