偏移/调整范围减少1列

时间:2015-01-28 20:45:31

标签: excel vba excel-vba

在Excel VBA中,如何将范围的左列偏移/调整大小1?

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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

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

答案 2 :(得分:0)

这可能很笨拙,但您可以使用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))