VB中表示活动区域怎么写?

range("a1:a"&I),range("a1"":"&"a"&I)
I是变量,是A列最后一行内容,可以这样写吗

单元格区域主要有以下几种表示方法:

    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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-06-16
单元格区域主要有以下几种表示方法:
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))