繁体   English   中英

用可变行号设置范围

[英]Set Range with variable Rownumber

我想设置一个范围。 值10不是固定值,而是写入单元格D1中。 我该如何修改

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

得到我想要的范围。

我试过了

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

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

通常最好保持代码清洁:

Dim lastRow
Dim variableRange as Range

lastRow = Range("D1").Value

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

您的问题最有可能是& ,位...逗号需要放在引号内。

请注意,通过创建一个单独的变量lastRow ,对于阅读该代码正在执行的操作的任何人来说,显而易见的是-变量名称变为“微型文档”。

试试这个:

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

如果您想让它比Floris的解决方案(已经提高了可读性)更少混乱,可以尝试以下方法:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM