VBA:从单元格函数设置范围

我正在尝试使用Excel VBA创build一个sourcerange ,它是sourcerange右边的一列。

 Dim targetRange as Range Dim sourcerange as range Set sourceRange = range("B1:B2") 'Works Set targetRange = Range(cells(sourceRange.row, sourceRange.Column + 1)) 'does not work Set targetRange = Range(Cells(2, 2)) 'does not work 

任何人都可以帮忙解释为什么它不工作?

使用

 Sub Demo() Dim targetRange As Range, sourcerange As Range Set sourcerange = Range("B1:B2") 'Works Set targetRange = sourcerange.Offset(0, 1) Debug.Print targetRange.Address End Sub 

你是不是这个意思?

 Dim sourceColumn As Long Dim firstRow As Long Dim lastRow As Long Dim sourceRange As Range Dim targetRange As Range 'Set source column number, and first + last row sourceColumn = 2 firstRow = 1 lastRow = 3 'Set the source range, using the variables Set sourceRange = Range(Cells(firstRow, sourceColumn), Cells(lastRow, sourceColumn)) 'Likewise, set the target range, but using column number + 1 Set targetRange = Range(Cells(firstRow, sourceColumn + 1), Cells(lastRow, sourceColumn + 1))