单元格区域主要有以下几种表示方法:
range("A1")形式表示法
cells(1,1)形式表示法
[A1] 形式表示法
推荐的方法:从方便引用变量的用途来看,推荐range("A1")表示法与cells(1,1)
推荐理由:
题主第一种写法:range("a1:a" & I)是没有问题的
题主第二种写法:range("a1"":"&"a"&I)中间少一个连字符&,正确写法:Range ("a1" & ":" & "a" & I) 。
注意事项:range()形式表示法,括号里面的是一个字符串
另外,表示A1到是A列最后一行内容的单元格区域也可以不用变量,比如写成这样:range("a1",Cells(Rows.Count, "a").End (xlUp))
追问Cells(Rows.Count, "a").End (xlUp) 这个出来是最后一行的内容,不是行号,结尾是不是少了个row参数
追答Cells(Rows.Count, "a").End (xlUp)表示A列最后一个单元格,如果要选取A列所有有数据的区域可以写成这样:range(range("a1"),Cells(Rows.Count, "a").End (xlUp))或者range(cells(1,1),Cells(Rows.Count, "a").End (xlUp)),也可以写成range("a1:" & Cells(Rows.Count, "a").End (xlUp).row);根据个人习惯去表达。
上面的回答中漏掉了range
Cells(Rows.Count, "a").End (xlUp)表示A列最后一个单元格,如果要选取A列所有有数据的区域可以写成这样:range(range("a1"),Cells(Rows.Count, "a").End (xlUp))或者range(cells(1,1),Cells(Rows.Count, "a").End (xlUp)),也可以写成range("a1:a" & Cells(Rows.Count, "a").End (xlUp).row);根据个人习惯去表达。
上面的回答中漏掉了range