美文网首页
VBA-TG第8节|其他重要基础语法

VBA-TG第8节|其他重要基础语法

作者: 努力奋斗的durian | 来源:发表于2019-04-23 13:50 被阅读0次

    最近更新:'2019-05-05'

    1.字典对象
    2.Select/静态变量

    1.字典对象

    字典对象主要用于重复数据的统计.

    字典对象的作用以及相关属性,具体如下:


    在vba中怎么使用字典?



    首先要知道字典的关键字以及对应的值



    通过dictionary.add k,j来添加字典的元素

    该代码在循环的过程会出错,出错的原因是在循环扫描的过程中,会存在相同的关键字的元素.因此需要用dictionary.exists(k)判断是否存在一个关键字为k的元素.




    如果有发现存在同样的关键字,要把字典的关键字的值提取出来再加上出手的次数,再写回字典的出手次数.这样循环下来就记录了每个人累计的出手记录.

    怎么样把字典的结果显示在屏幕上?首先要知道字典一共有多少个条目?这个可以通过dictionary.count来进行计算.

    dictionary.keys生成字典中所有元素的关键字,并返回一维数组.dictionary.items生成字典中所有元素的条目内容,并返回一维数组.

    怎么样把数组写到工作表中?


    完整的代码如下:

    Option Explicit
    
    Sub dicDemo()
        Dim i As Integer, k As String, myDic As Object, a(), b()
        Set myDic = CreateObject("scripting.dictionary")
        For i = 4 To 21
            k = Cells(i, 2)
            If myDic.exists(k) Then
                myDic.Item(k) = myDic.Item(k) + Cells(i, 4).Value
                
            Else
            
                myDic.Add k, Cells(i, 4).Value
            End If
            
        Next i
        i = myDic.Count
        If i > 0 Then
            a = myDic.keys()
            b = myDic.items()
            Range(Cells(4, 8), Cells(i + 3, 8)) = Application.Transpose(a)
            Range(Cells(4, 9), Cells(i + 3, 9)) = Application.Transpose(b)
        End If
    End Sub
    

    其他相关知识点

    2.Select/静态变量

    2.1Select Case


    1)变量在过程之外

    Option Explicit
    
    Dim x
    
    Sub a()
        x = x + 1
        MsgBox x
    End Sub
    

    2)变量在过程之内

    Option Explicit
    Sub a()
        Dim x
        x = x + 1
        MsgBox x
    End Sub
    
    

    两者之间的区别是变量在子过程之外会累计,在子过程之内不会累计.

    2.2静态变量


    静态变量消失的方式
    1.将excel工作簿关闭


    相关文章

      网友评论

          本文标题:VBA-TG第8节|其他重要基础语法

          本文链接:https://www.haomeiwen.com/subject/pipzbqtx.html