EXCEL的VBA中,SHEETS的CELL和RANGE有什么区别?不太明白,如果要值的赋值用哪个?哪个比较好.什么时候要加Value,什么时候不用加啊?
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/01 01:25:11
![EXCEL的VBA中,SHEETS的CELL和RANGE有什么区别?不太明白,如果要值的赋值用哪个?哪个比较好.什么时候要加Value,什么时候不用加啊?](/uploads/image/z/7617412-28-2.jpg?t=EXCEL%E7%9A%84VBA%E4%B8%AD%2CSHEETS%E7%9A%84CELL%E5%92%8CRANGE%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%3F%E4%B8%8D%E5%A4%AA%E6%98%8E%E7%99%BD%2C%E5%A6%82%E6%9E%9C%E8%A6%81%E5%80%BC%E7%9A%84%E8%B5%8B%E5%80%BC%E7%94%A8%E5%93%AA%E4%B8%AA%3F%E5%93%AA%E4%B8%AA%E6%AF%94%E8%BE%83%E5%A5%BD.%E4%BB%80%E4%B9%88%E6%97%B6%E5%80%99%E8%A6%81%E5%8A%A0Value%2C%E4%BB%80%E4%B9%88%E6%97%B6%E5%80%99%E4%B8%8D%E7%94%A8%E5%8A%A0%E5%95%8A%3F)
EXCEL的VBA中,SHEETS的CELL和RANGE有什么区别?不太明白,如果要值的赋值用哪个?哪个比较好.什么时候要加Value,什么时候不用加啊?
EXCEL的VBA中,SHEETS的CELL和RANGE有什么区别?
不太明白,
如果要值的赋值用哪个?
哪个比较好.什么时候要加Value,什么时候不用加啊?
EXCEL的VBA中,SHEETS的CELL和RANGE有什么区别?不太明白,如果要值的赋值用哪个?哪个比较好.什么时候要加Value,什么时候不用加啊?
CELLS(y,x)是单个单元格对像,两个参数分别为行和列;
Range()则是指一个区域,区域中可以是一个单元格,也可以是多个单元格.
VBA中常这样写:Range(cells(y1,x1),cells(y2,x2)).Select,就是指选中以cells(y1,x1)和cells(y2,x2)两单元格为对角线的一个区域.
----------------
赋值的话,如下几句都是赋值的,区别还是一样,Cells()是对一个单元格赋值,而Range()则可以对一个区域的所有单元格赋值:
Range("A1:D10").FormulaR1C1 = "10"
Range("A1:D10").Value = 100
Range("A13").Value = 1
Cells(13,1).FormulaR1C1 = "10"
Cells(13,1).Value = 100
说不上哪更好,要看你的需求,通常哪个随手就用哪个了.
---------------------
是的,Value在多数时候是可以省略的.如下所示:
Range("A1:D9") = "123"
Cells(3,3) = "300"
Worksheets("Sheet1").Range("A1") = 3.14159
但如下所示的第二个.Value就不能省略,省略的话,但是结果不正确.
'本示例在 Sheet1 上的单元格区域 A1:D10 中进行循环.如果这些单元格中的某个值小于 0.001,则将其值替换为 0(零).
For Each c in Worksheets("Sheet1").Range("A1:D10")
If c.Value < 0.001 Then
c.Value = 0
End If
Next c
有书上有对程序员的忠告,意思是这样的:对可省略又可不省略的关键字,最好不要省略而是写完整.这样既增加程序的可读性,又可避免歧义和错误.