vb 对Excel中Range的使用
(2017-03-24 10:05:27)
标签:
vbexcel |
分类: VB |
在VB中如果对EXCEL中Range选中区域功能,如果Cells的参数中有变量,有时会出现错误,比如下面的用法可能会出错:
datanum = 5
Set SelRange = Range(Cells(1, 1), Cells(datanum, 2))
错误的提示为:办法Range作用于对象_WorkSheet时失败,在网上找了很久没有找到答案,后来发现模仿另一种区域选中方法
Range("A1:B5")
是固定的,但做点变通就可以了,用vb的字符连接,即改为
datanum=5
Range("A1" & "B" & datanum)
问题就解决了。但是要将数值转成26个英文字母还需要加一个函数,那么到底第一方简洁的方法能不能让其不会出错呢?答案是肯定的:
事实证明,range(cells(row1,col1),cells(row2,col2))是可靠的,可以对row1,col1,row2,col2赋值再访问相应的cells的,但是重要的是指定cells所在的sheet,如果不指定,则是默认的sheet,当sheet发生变化时,系统不知道去哪个sheet
中去找这个cell,也就是说,如果指定cells所在的sheet,那这种方法就是可靠的。如:
range(sheet1.cells(row1,col1),sheet1.cells(row2,col2))
使用是安全的。