我想设置一个范围。值10未修复并写入单元格D1中。 我该如何修改
Range("A1:A10,C1:C10")
获得我想要的范围。
我试过
Range("A1:A" & Range("D1") & , "C1:C" & Range("D1"))
但得到错误“对象_global的方法范围失败”。
答案 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))