EXCEL 声明变量Set SH = Sheets("设置")

SetSH=Sheets("设置")B=SH.Cells(s.Row,i).Value声明为:DimsAsRangeDimi%na=TextBox1.Text声明为:Di... Set SH = Sheets("设置")
B = SH.Cells(s.Row, i).Value 声明为: Dim s As Range Dim i%
na = TextBox1.Text 声明为: Dim na As String

SH、B 这两个变量应该声明成什么变量?
上面我声明的对么?
正在谢谢excel VBN,一直声明数据类型搞不懂
展开
 我来答
Excel小奇
推荐于2017-09-20 · 知道合伙人软件行家
Excel小奇
知道合伙人软件行家
采纳数:902 获赞数:6174
EXCEL图书作者,Microsoft 认证Excel专家。

向TA提问 私信TA
展开全部
1、在Excel的VBA中,声明变量语句为:Dim 变量名 As 变量类型。
2、Set 语句是给对象型变量赋值语句。
3、例如:Dim SH As worksheet 这句是声明了一个变量名为SH的工作表型变量。
4、而Set SH = Sheets("设置")这句是把工作表名为"设置"的工作表指定给变量SH。
coolbi5
推荐于2017-10-06 · TA获得超过1万个赞
知道大有可为答主
回答量:1.1万
采纳率:35%
帮助的人:2353万
展开全部
SH 可以是worksheet ,object,variant
B 要看你单元格的数据类型,可以是string,long,integer,double,single 不确定就variant
小程序不用考虑内存开销

RANGE 是对象类型的一种,是单元格选取的意思,你这里已经是获取选取的值VALUE 了,所以声明RANGE是不对的,range必须用SET 赋值
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
落叶l无情
2015-03-22 · TA获得超过1417个赞
知道大有可为答主
回答量:1372
采纳率:0%
帮助的人:1394万
展开全部
如果实在不清楚,可以不声明,即使用默认的variant类型;如果确实想声明一下,那么可以dim SH as object,B as String(或者integer等,看你需要什么数据);如果还不死心,一定要搞清楚SH到底是什么类型,那么可以dim SH As Worksheet ,就是工作表类型,因为你赋值的Sheets("设置")是一个Worksheet,由于是对象,所以也可以用通用的object。
上面方法都可用,有什么区别呢,如果定义Worksheet(即真正的类型),这样写代码时会有代码提示,初学者推荐。
另外的声明没有问题。另外注意对象变量赋值用set
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式