Excel VBA中的Set是怎么使用的

如题所述

Set 语句

请参阅 示例 特性

将对象引用赋给变量或属性。

语法

Set objectvar = {[New]
objectexpression | Nothing}

Set 语句的语法包含下面部分:

部分

描述

objectvar
必需的。变量或属性的名称,遵循标准变量命名约定。

New
可选的。通常在声明时使用 New,以便可以隐式创建对象。如果 New 与
Set 一起使用,则将创建该类的一个新实例。如果
objectvar 包含了一个对象引用,则在赋新值时释放该引用。不能使用 New 关键字来创建任何内部数据类型的新实例,也不能创建从属对象。

objectexpression
必需的。由对象名,所声明的相同对象类型的其它变量,或者返回相同对象类型的函数或方法所组成的表达式

Nothing
可选的。断绝 objectvar 与任何指定对象的关联。若没有其它变量指向
objectvar 原来所引用的对象,将其赋为 Nothing
会释放该对象所关联的所有系统及内存资源。

说明

为确保合法,objectvar 必须是与所赋对象相一致的对象类型。

Dim、Private、Public、ReDim以及 Static 语句都只声明了引用对象的变量。在用
Set 语句将变量赋为特定对象之前,该变量并没有引用任何实际的对象。

下面的示例说明了如何使用 Dim 来声明 Form1 类型的数组。Form1 实际上还没有实例。然后使用
Set 将新创建的 Form1 的实例的引用赋给 myChildForms 变量。在 MDI
应用程序中可以使用这些代码来创建子窗体。
Dim myChildForms(1 to 4) As Form1
Set myChildForms(1) = New Form1
Set myChildForms(2) = New Form1
Set myChildForms(3) = New Form1
Set myChildForms(4) = New Form1

通常,当使用 Set 将一个对象引用赋给变量时,并不是为该变量创建该对象的一份副本,而是创建该对象的一个引用。可以有多个对象变量引用同一个对象。因为这些变量只是该对象的引用,而不是对象的副本,因此对该对象的任何改动都会反应到所有引用该对象的变量。不过,如果在
Set 语句中使用 New 关键字,那么实际上就会新建一个该对象的实例。
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-10-27
给对象赋值用set,如 set Obj1=CreateObject......

关于EXCEL中vba的SET什么意思啊?谢谢
Set 语句中使用 New 关键字,那么实际上就会新建一个该对象的实例。3、Set 语句示例 该示例使用 Set 语句将对象引用赋给变量。假定 YourObject 指向一个具有 Text 属性的合法对象。Dim YourObject, MyObject, MyStr Set MyObject = YourObject '对象引用赋值。'MyObject 和 YourObject 引用同一个...

Excel vba 你写的这个代码,为什么加上个set?
LET X=1 LET一般可以省略,上面的赋值语句可以写为:X=1 对应对象变量的赋值使用SET,例如:SET R=RANGE("A1:A2")这里的SET不可以省略,接下来R具有RANGE的方法和属性,例如:MSGBOX R.CELLS.COUNT 特别需要注意,对于RANGE对象可以用LET复制给数组,例如:LET A=RANGE("A1:A2")MSGBOX A(2,1) ...

VBA 中set的作用
set 对象变量=对象 将对象赋给对象变量 如果觉得不好理解,可以通过与最简单的赋值语句类比,如[let]变量=表达式 赋值语句的意思就是把表达式的值赋给变量(let可以省略)同样,“set 对象变量=对象”就表示将对象赋给对象变量~至于Application.Selection,Application代表整个EXCEL应用程序,Selection,顾名思...

excel vba中set xxx = yyy和dim xxx as yy,这两个语句有什么区别...
set是给对象变量赋值的关键字,普通变量赋值其实前面有个省略了的关键字let 比如定义俩个变量,一个range(对象变量) 另一个integer(普通变量)dim rng as rangedim i as integerset rng=Sheets(1).Usedrangei=6完整的应该是let i=6 但是省略成 i=6 ...

EXCEL 声明变量Set SH = Sheets("设置")
1、在Excel的VBA中,声明变量语句为:Dim 变量名 As 变量类型。2、Set 语句是给对象型变量赋值语句。3、例如:Dim SH As worksheet 这句是声明了一个变量名为SH的工作表型变量。4、而Set SH = Sheets("设置")这句是把工作表名为"设置"的工作表指定给变量SH。

excel中的vba对象变量或with块怎么设置?
1、首先打开excle软件,在菜单中选择“开发工具”-》“Visual Basic”,进入VBA的编程界面。2、选择一个对象,这里选择sheet1,新建一个子过程setobgjs。3、首先是声明对象变量,通过Dim来声明,和普通变量的声明很类似,只不过是数据类型变为了Object,如: Dim obj1 As Object。4、设置该对象变量的值...

EXCEL VBA的代码问题?
执行操作。你需要使用Delete方法或者ClearContents方法来删除或清除不符合条件的行或单元格。这样做是为了让你的代码更简洁和有效,也达到你想要的结果。下面是一个可能的代码示例:Sub 删除或清除()'定义变量Dim i As Long '行号Dim j As Long '列号Dim k As Long '计数器Dim v As Variant '单元...

excel VBA程序问题:以下函数中Set Cella = Rng.Range("A1") 是什么用...
这是一个来判断某个单元格中数据类型的自定义函数。rng为单元格区域,可以为一个单元格,也可以是一块单元格区域,Rng.Range("A1") 是你所选区域的第一个单元格,通过这个自定义函数来判断如果为空,则返回此为blank,如果为文本,即返回text....

excel怎么使用vba创建一个预设格式的工作表?
1、首先我们打开一个工作样表作为例子。2、我们使用alt+f11组合快捷键进入vbe编辑器,插入一个新的模块,并在模块中输入以下代码:Sub CreateNewWorkbook2()Dim wb As Workbook Dim ws As Worksheet Dim i As Long MsgBox 将创建一个新工作簿,并预设工作表格式.Set wb = Workbooks.Add Set ws = ...

在excel表格中使用vba引用单元格区域
步骤 1、首先我们打开一个工作样表作为例子。2、使用alt+f11组合快捷键进入vbe编辑器,插入一个新的模块,并在模块中输入以下代码:Option Explicit Sub Random()Dim myRange As Range Dim rng As Range '设置对单元格区域的引用 Set myRange = Worksheets(Sheet1).Range(A1:D5)Set rng = ...

相似回答