在Excel中,我们都知道,可以通过VBA引用各种对象的名称,从而,利用名称,就可以设置该对象的各种属性,诸如工作表、选择的区域或单元格的各种属性等。
本文,为您介绍With的语句使用方法;
①With语法
With 对象名称
'语句
End With
②语句介绍
对象名称的使用,必须先定义;即在With语句之前先定义,这样,才能正确的引用,否则,将导致莫名的错误!
③语句使用实例
Set MySheet = ThisWorkbook.Sheets(1)
With MySheet
.Cells(1, 1) = 1
.Cells(1, 2) = 2
.Cells(1, 3) = 3
.Cells(1, 4) = 4
.Cells(1, 5) = 5
.Cells(1, 6) = 6
End With
上述代码解释:先定义一个对象名称:Set MySheet = ThisWorkbook.Sheets(1)
然后,通过With引用该对象的名称;接下来,就是针对该对象的各种属性进行设置;.Cells(1, 1) = 1相当于设置A1=1;.Cells(1, 2) = 2相当于设置B1=2…依此类推!
上述的代码,其实就等于:
ThisWorkbook.Sheets(1).Cells(1, 1) = 1
ThisWorkbook.Sheets(1).Cells(1, 2) = 2
ThisWorkbook.Sheets(1).Cells(1, 3) = 3
ThisWorkbook.Sheets(1).Cells(1, 4) = 4
ThisWorkbook.Sheets(1).Cells(1, 5) = 5
ThisWorkbook.Sheets(1).Cells(1, 6) = 6
既然两种代码都一样,为什么还要使用With语句呢,为什么不直接使用ThisWorkbook.Sheets(1).的方式直接调用呢?
原因在于:
一方便输入,可以省去重复输入同一个名称的麻烦;
二更在于,代码的执行效益高;第一种代码的执行效益远远比第二种代码的执行效益高。
就因为这样,一图方便,二图效益,所以,很多场合的VBA代码,都喜欢使用with。