站内搜索:

Set对象类型变量的赋值Set [变量名] = [对象类型数据]

浏览人数:
对象是程序的一个元素,不同于基本类型数据,它包括多个属性和多个方法。例如,Excel 中工作簿、工作表、单元格、图表等都是对象。

对象使用 Set 关键词,并且Set关键词不能省略。

如下是对象类型变量基本的赋值方法:


Set [变量名] = [对象类型数据]
 

由于对象可以包含多个属性,因此 VBA 提供一种同时给多个属性赋值的简单方法。具体方法是对象多个属性赋值语句,放置在 With+对象End With关键词中间。

Dim sheet As Worksheet
Set sheet = Worksheets("绩效表")
With sheet
    .Name = "旧绩效"
    .Visible = False
End With
 



如上图红框所示,括号里面的即为表名。在VBA中可如下分别引用这3个表:
 

Sub test()
    Dim sht_slea As Worksheet
    Dim sht_result As Worksheet
    Dim sht_para As Worksheet

    Set sht_slea = Worksheets("SLEA")
    Set sht_result = Worksheets("Check_Result")
    Set sht_para = Worksheets("Parameter")
End Sub

 

如上,用Dim 变量名 As Worksheet的格式来定义一个工作表对象。用Set 变量名 = Worksheets("表名")的格式来把工作表对象赋值给指定的变量。然后就可以用这个变量来引用或操作对应工作表中的对象和数据了。

单个单元格区域的引用


Sub test()
    Dim sht_slea As Worksheet
    Dim rng As Range

    Set sht_slea = Worksheets("SLEA")
    Set rng = sht_slea.Range("D2")

    Debug.Print rng
End Sub

 

仅在Range对象引用的是单个单元格时,才可以用Debug.Print或者MsgBox来输出Range对象中的内容。如果将接下来介绍的引用了多个单元格的Range对象使用Debug.Print或者MsgBox来输出,将会报错。

连续单元格区域的引用


Sub test()
    Dim sht_slea As Worksheet
    Dim rng As Range

    Set sht_slea = Worksheets("SLEA")
    Set rng = sht_slea.Range("D2:D5")

    For Each Item In rng
        Debug.Print Item
    Next Item
End Sub
 

总结:
range为单个的单元格时,可以直接使用debug.print在立即窗口输出,如果是多个值时,是需要使用循环加以显示。
 

制作表格zhizuobiaoge.com
Copyright@all rights reserved