2017-03-09 48 views
0

一个Array对VBA可变每个数字值我有一个数组:存储在PowerPoint

For iCtrl = LBound(chkboxes) To UBound(chkboxes) 
    PriorityList = Array(chkboxes(iCtrl).Tag) 
Next 

这看起来通过存储在用户形式的复选框的变量属性。基本上,从这个我可以存储为被检查的所有复选框标签属性中的文本。 (这些只是数字,从1到16)

我需要用这些数字来要做的就是每个号码存储到一个变量。只有3三个复选框可以一次检查,所以我想有这些变量:VAR1,VAR2,VAR3。最小的数字将被存储为VAR1,最多将被存储在VAR3,在VAR2中间的数字。

我认为必须有这个一个简单的解决方案,但我一直在令人头大我的大脑和有没有运气。我在编程方面是初学者,所以可能与它有很大关系:)谢谢!

回答

0

试试这个:

Sub GetLowestChecked3() 
    Dim var1 As Long, var2 As Long, var3 As Long, t As Long 
    var1 = 999: var2 = 999: var3 = 999 
    For iCtrl = LBound(chkboxes) To UBound(chkboxes) 
     If chkboxes(iCtrl).value = True Then 
      t = CLng(chkboxes(iCtrl).Tag) 
      If var1 > t Then 
       var3 = var2 
       var2 = var1 
       var1 = t 
      ElseIf var2 > t Then 
       var3 = var2 
       var2 = t 
      ElseIf var3 > t Then 
       var3 = t 
      End If 
     End If 
    Next 
End Sub 
+0

正是我需要的。谢谢!! – hunter21188