问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于EXCEL中vba的SET什么意思啊?谢谢

发布网友 发布时间:2022-04-26 16:18

我来回答

2个回答

热心网友 时间:2023-10-14 01:26

VBA中SET是定义一个有属性和方法的对象

Excel版本参考:2010
1、语法

Set objectvar = {[New]
objectexpression | Nothing}

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

描述

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

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

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

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

为确保合法,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 关键字,那么实际上就会新建一个该对象的实例。
3、Set 语句示例

该示例使用 Set 语句将对象引用赋给变量。假定 YourObject 指向一个具有 Text
属性的合法对象。
Dim YourObject, MyObject, MyStr
Set MyObject = YourObject '对象引用赋值。
'MyObject 和 YourObject 引用同一个对象。
YourObject.Text = "Hello World" '初始化属性。
MyStr = MyObject.Text '返回 "Hello World"。
'脱离关联。MyObject 不再引用 YourObject。
Set MyObject = Nothing '释放该对象。

热心网友 时间:2023-10-14 01:27

set是将a1单元格这个对象赋值给了对象变量rg
第二段是将a1单元格的值赋值给了variant变量rg

第一段里可以在with语句中用.value获取a1单元格的值,设置单元格格式,等等可以对单元格进行的操作.

而第二段的with语句啥都不能干.
关于EXCEL中vba的SET什么意思啊?谢谢

VBA中SET是定义一个有属性和方法的对象 Excel版本参考:2010 1、语法 Set objectvar = {[New]objectexpression | Nothing} Set 语句的语法包含下面部分:描述 objectvar 必需的。变量或属性的名称,遵循标准变量命名约定。New 可选的。通常在声明时使用 New,以便可以隐式创建对象。如果 New 与 Set ...

Excel vba 你写的这个代码,为什么加上个set?

对应对象变量的赋值使用SET,例如:SET R=RANGE("A1:A2")这里的SET不可以省略,接下来R具有RANGE的方法和属性,例如:MSGBOX R.CELLS.COUNT 特别需要注意,对于RANGE对象可以用LET复制给数组,例如:LET A=RANGE("A1:A2")MSGBOX A(2,1) '显示A2的值 LET仍然可以省略,所以同样的语句,需要注意有...

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 ...

VBA 中set的作用

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

EXCEL VBA这些语句是什么意思,有大神逐句翻译吗?

Set d = CreateObject("Scripting.Dictionary") '赋值D为字典对象 arr = Sheet1.UsedRange For i = 2 To UBound(arr)If arr(i, 1) <> "" Then d(arr(i, 1)) = "" 'D增加关键字 Next With Range("B2").Validation .Delete .Add 3, 1, 1, Join(d.keys, ",") 'B2增加数据...

关于Excel VBA翻译

Range()是区域的意思,Range("B41:C45")就是指由左上角为单元格"B41"和右下角为单元格"C45"组成的区域;ClearContents是清除内容。所以本行代码就是,清除区域"B41:C45"里的内容。2,Dim arr1 声明一个变量,其类型为变体类型 3,Set dic1 = CreateObject("scripting.dictionary")Set dic2 = ...

EXCEL VBA应用问题: Set rngStart = Range(sWsConfig & "!" & sDQu...

即可以这样引用具体的单元格位置:工作表名称!单元格 因此,sWsConfig 代表的是某个工作表名称,sDQuery 代表具体的单元格区域 至于这两个变量,应该不是VBA的保留定义,而是用户自己定义的,请在整个工程范围内用查找工具,就能找到具体是在哪个过程模块或者类模块中定义的了。

excel VBA程序问题:以下函数中Set Cella = Rng.Range("A1") 是什么用...

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

请问:excel vba中xlvalue,xlwhole,xlbyrows,xlnext,xlup,xltoleft等XL...

Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress End IfEnd WithEnd Sub 或者,将代码作如下修改,即去掉原代码中最后一个判断循环的条件c.Address <> firstAddress,因为本程序的功能是在指定区域查找值为2的单元格并替换为数值5,当程序在指定区域查找不到数值2时就会退出...

关于EXCEL VBA中数组下标越界的问题

Set rng = Sheet2.Range("A2:A"& Sheet2.[A65536].End(xlUp).Row + 1)arr = rng.Value 采用单元格区域直接赋值给数组的时候,并不像数组公式里那样,单行或者单列的单元格区域返回一维的水平或者垂直数组,而是像工作表行列分布一样的二维数组。因此引用数组里的值时,必须使用二维引用的方式,...

excel中的vba什么意思 vba是什么意思啊 vba有什么用 vba能做什么 vba都可以干什么 vba byval vba中 vba value vba 等于
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
隐私文件夹怎么加密?隐私文件夹加密方法 登位怎么造句 放言怎么造句 07式陆军迷彩的领章怎么分期? 骨头有积液怎么办 右膝关节,胫骨上段骨髓水肿,膝关节腔少量积液。这个怎么养啊。谢谢好心... 骨髓水肿关节积液怎么治疗 小孩咳嗽厉害老不好怎么办 小儿咳嗽一直不好怎么办 投币咖啡机使用说明 set myconn = server.createobject("ADODB.connection")是什么意思 什么是map.setMyLocationEnabled真的 在暮光之城中卡伦一家打棒球的时候有首歌中文翻译谁知道 Vb中的一句代码:Set MyOPCServer = New OPCServer 如何改写成Delphi 岳麓区有哪些月子中心 setmyindex 可以删除吗 set myErrors=conn.errors 离长沙县妇幼最近的月子中心 excel 中Set MyCommandBar = Application.CommandBars.Add( 背单词 )哪错了? set mydate=%temp%\mydate.tmp date /T > %mydate% set parsearg="eol=; tokens=1,2,3 delims=/, " vbs指令没权限,Set myfile=fso.CreareTextFile set my_rs=server.createobject("adodb.recordset")问题 set,my,of,lost,a,sister,keys 连词成句 此句中“set my hand"怎么翻译? set down my feelings 和set my feelings down 哪个是对的? lostsetmyofasisterkeys连词成句 set my skin是什么意思 除夕和大年初一哪个算过年? 为什么年夜是大的意思? 除夕和春节。哪个是大年三十 vb中set语句的作用 怎样确定自己的位置·地图? vb: myset!字段名,其中,字段名如何用变量来代替? in witness herefof,i have hereunto set my hand at 什么意思 家里有蜈蚣怎么办 家里有蜈蚣怎么消灭 家里卫生间总是出现蜈蚣怎么办 家里有蜈蚣怎么清除 夏天家里出现蜈蚣,大概4,5厘米的,家住二楼,请问怎么消灭他们? 家里蜈蚣很多怎么办,有什么办法可以不要蜈蚣跑到屋里面来? 如何彻底杀灭蜈蚣? 硫磺皂能去除家里的蜈蚣式的虫子吗? 2021年有什么好基金推荐 我想问下这个是蜈蚣吗?最近在家里发现了三条了,吓死人啦?有什么方法可以祛除蜈蚣。 拿着裸视频故意让人看是否构成犯罪? 谁有playboy plus里面Stefanic knight的nude的全部视频和照片,以为要花 与15周岁女生裸视频会坐牢吗? with cam and nude pics是神马意思?老美话,翻译的要精确时尚,拜托了。我会追加悬赏的! 我被*裸视频,现在来威胁我在跟他上床,怎么办,报警有用吗?他每天来威胁我? 跟陌生人视频。被对方录屏裸视频下来发给我了。威胁我,我怕发到网上去怎么办? 被别人诱导拍了裸视频可以报警吗