[英]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.