使用变量Rownumber设置范围

时间:2014-01-14 16:49:48

标签: excel-vba vba excel

我想设置一个范围。值10未修复并写入单元格D1中。 我该如何修改

Range("A1:A10,C1:C10")

获得我想要的范围。

我试过

Range("A1:A" & Range("D1") & , "C1:C" & Range("D1")) 

但得到错误“对象_global的方法范围失败”。

3 个答案:

答案 0 :(得分:2)

通常最好保持代码清洁:

Dim lastRow
Dim variableRange as Range

lastRow = Range("D1").Value

Set variableRange = Range("A1:A" & lastRow & ", C1:C" & lastRow) 

很可能你的问题出在& ,位...逗号必须在引号内。

请注意,通过创建单独的变量lastRow,任何阅读代码的人都会立即明白它变量名称变为“微文档”。

答案 1 :(得分:1)

试试这个:

Range("A1:A" & Range("D1") & ", C1:C" & Range("D1"))

答案 2 :(得分:0)

如果你想让它比Floris的解决方案(已经提高了可读性)更令人困惑,你可以试试这个:

Dim lastrow As Integer
Dim variablerange As Range
lastrow = Cells(1, 4)

Set variablerange = Range(Cells(1, 1), Cells(lastrow, 3))