VBA 中RANGE如何引用变量

Range("D2:(colletter & 9 )").Select
Range("D2:(cells(2,colnum))").Select
colletter和colnum都是变量,运行错误
怎么修改此代码?

一项技能的学习过程中,最难的有两个时间段,没入门前不知道怎么学,入门后不知道怎么快速提高。反而当技术提高到一个层次后,能融会贯通,再看什么都不那么难了。我们每天讲解一个VBA的一个知识点,我们一起学习,共同进步。

我们都知道Range对象是Excel应用程序中最常用的对象,一个Range对象代表一个单元格、一行、一列、包含一个或者更多单元格区域(可以是连续的单元格,也可以是不连续的单元格)中选定的单元格,甚至是多个工作表上的一组单元格,在操作Excel 内的任何区域之前都需要将其表示为一个Range对象,然后使用该Range对象的方法和属性。range和cells都可以表达单元格对象,只是range的属性和方法比cells的多。

在VBA中经常需要引用单元格或单元格区域区域,主要有以下几种方法。

1-1 使用Range属性

VBA中可以使用Range属性返回单元格或单元格区域,如下面的代码所示。

1 Sub RngSelect()
Sheet1.Range("A3:F6, B1:C5").Select
003 End Sub

代码解析:

RngSelect过程使用Select方法选中A3:F6,B1:C5单元格区域。

Range属性返回一个Range对象,该对象代表一个单元格或单元格区域,语法如下:

Range(Cell1, Cell2)

参数Cell1是必需的,必须为 A1 样式引用的宏语言,可包括区域操作符(冒号)、相交区域操作符(空格)或合并区域操作符(逗号)。也可包括美元符号(即绝对地址,如“$A$1”)。可在区域中任一部分使用局部定义名称,如Range("B2:LastCell"),其中LastCell为已定义的单元格区域名称。

参数Cell2是可选的,区域左上角和右下角的单元格。

运行Sub RngSelect过程,选中A3:F6, B1:C5单元格区域
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
如果你的那个colletter变量代表的是一个列号字母,可以这样写
Range("D2:" & colletter & "9").Select
如果你的colnum变量是一个数字,可以这样写
Range("D2:" & cells(2,colnum).address(0,0)).Select
注意:在VBA编程当中,所有的变量不可能写在引号里面,写在引号里面就成了字符串了本回答被提问者和网友采纳
第2个回答  2018-04-11

如果你的那个colletter变量代表的是一个列号字母。

如果是用VBA,则对range的select 操作是无意义的,不用选择直接操作就选择单行整行

range("1:1")

单列,range("A:A")

遍历range中的每个一单元格

dim Rng as Range

dim tRng as range

set tng=range("A:A")

for each tRng in Rng

debug.print tRng

next

set rng=nohing

set trng=nothing

本回答被网友采纳
相似回答