VBA中,假如一共有100个00-99的数组,我输入这个数组中其中的一部分,如何能输出剩下的一部分

VBA中,假如一共有100个00-99的数组,我输入这个数组中其中的一部分,如何能输出剩下的一部分?
比如:输入“00 01 02 03....98”, 然后输出没有的“99”。VBA代码该怎么写?

Private Sub CommandButton1_Click()

    Dim arr(100) As String
    Dim tmparr
    Dim newarr(100) As String
    tmparr = Array("1", "2", "8")  '这里定义你想输入的数组
    '生成1-99的数组
    Dim i As Integer
    For i = 0 To UBound(arr)
        arr(i) = i + 1
    Next i
    
    '判断输入的数字是否和1-99数组从的值重复,不存在就放入新的输出用数组
    Dim j
    Dim sameflg As Boolean
    Dim count As Integer: count = 0
    For i = 0 To UBound(arr)
        sameflg = False
        For j = 0 To UBound(tmparr)
            If arr(i) = tmparr(j) Then
                sameflg = True
            End If
        Next j
        If sameflg = False Then
            newarr(count) = arr(i)
            count = count + 1
        End If
    Next i
    
    ’msgbox输出 输出用数组 (里面是没有被输入的数)
    Dim showStr As String
    For i = 0 To UBound(newarr)
        If newarr(i) = "" Then
            Exit For
        End If
        showStr = showStr & newarr(i) & ","
    Next i
    
    MsgBox showStr
    
    
End Sub

 

觉得好用记得给分哦

(话说只有5分~~这种题起码10分啊= =)

追问

我复制到txt文档然后以.vbs保存,无法使用哦,帮人帮到西拉,,,怎么弄,回头多给你分

追答

不是~~不用弄进vbs~你在excel里插入一个button控件(默认就叫CommandButton1),双击这个button就会进入这个CommandButton1_Click方法 把方法内的代码复制进去,就可以运行了。

对了,第29行的那句是注释,前面的单引号改成半角的,不然不会被解释成注释~~没变绿色,这也可能是VBS报错的原因

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-28
将输入的放到一个数组中,然后再用for 来产生00-99的数,到数组中查找,如果找到了就跳过,没找到就输出 。追问

我还是写不来。。我对代码不是很熟悉

第2个回答  2013-06-28
dim aa()
redim aa(k=0 to 99 )你的问题我看不明白,但是只要你定义好了数组,输入输出应该是可以随心所欲的

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网