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

2019-04-23  本文已影响0人  努力奋斗的durian

最近更新:'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工作簿关闭


上一篇下一篇

猜你喜欢

热点阅读