比如:有10个checkbox,不是控件数组.
怎么能够显示选中的?没有选中就显示:请选择!

解决方案 »

  1.   

    value = 1 or 2 表示选中
    value = 0 就未选中  msgbox "请选择!"
      

  2.   

    Dim c As Control
    For Each c In Me.Controls
        If TypeOf c Is CheckBox Then
            MsgBox c.Value
        End If
    Next  
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
      

  3.   


    如果是直接放在窗体上的控件,如上楼兄弟所说。
    如果是放在容器中的,把“Me”换成容器控件的名字。是否选择可以使用 vbChecked 和 vbUnchecked 判断。
    比如 
    if c.value = vbChecked then
    ......
      

  4.   

    Dim c As Control 
    For Each c In Me.Controls 
        If TypeOf c Is CheckBox Then 
            MsgBox c.Value 
        End If 
    Next 
      

  5.   

    Dim c As Control 
    For Each c In Me.Controls 
        If TypeOf c Is CheckBox Then 
           if c.Value= vbchecked then
               msgbox"11111111"
           elseif c.Value= vbUnchecked then
               msgbox"22222222"
               exit for
           end if
        End If 
    Next 怎么选择其中一个checkbox,却始终显示22222222;只有最后一个才显示11111111????????????
      

  6.   

             exit for 中要有一个值为vbUnchecked就退出循环了~~~~
      

  7.   

    那怎么弄啊?
    随便选择一个checkbox就显示11111111;
    不选择就显示22222222.
    弄来弄去这个样子!唉...........
      

  8.   

    你是不是想这样啊:
    Dim c As Control 
    flag=0
    For Each c In Me.Controls 
        If TypeOf c Is CheckBox Then 
          if c.Value= vbchecked then 
              flag=1
              exit for
          End If 
       end if
    Next 
    if flag=0 then
        msgbox "未选择"
    else
       msgbox "选择了"
    end if
      

  9.   

    Dim c As Control 
    str=""
    For Each c In Me.Controls 
        If TypeOf c Is CheckBox Then 
          if c.Value= vbchecked then 
              str=str & c.Caption & vbcrlf 
          End If 
      end if 
    Next 
    if str="" then 
        msgbox "未选择" 
    else 
      msgbox str
    end if