偏移/调整范围减less1列

在Excel VBA中,如何将范围的左列偏移/resize减less1?

比如我从B1:D10开始,我需要以C1:D10结束。

 Dim rng As Range ... Set rng = rng.Resize(rng.Rows.Count, rng.Columns.Count - 1).Offset(0, 1) 

试试这个:

 Sub qwerty() Dim r1 As Range, r2 As Range Set r1 = Range("B1:D10") Set r2 = Intersect(r1, r1.Offset(0, 1)) MsgBox r2.Address(0, 0) End Sub 

基本上它从块中删除第一列。

这可能是笨拙的,但是你可以使用Range.Range(它返回给定范围内的一个位置):

 Set StartRng = Range("B1:D10") Set FinishRng = Range(StartRng.Range("B1"), StartRng.Range("C10")) 

或与Range.Cells

 Set StartRng = Range("B1:D10") Set FinishRng = Range(StartRng.Cells(1, 2), StartRng.Cells(10, 3))