Vba 将范围偏移/调整大小减少1列

Vba 将范围偏移/调整大小减少1列,vba,excel,Vba,Excel,在Excel VBA中,如何将范围的左列偏移/调整大小减少1 例如,我从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 =

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

例如,我从
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.Cells(1, 2), StartRng.Cells(10, 3))

如果在范围内创建范围,而不是像@Joe建议的那样简单地调整一列的大小,那么这将更加通用。
Set StartRng = Range("B1:D10")
Set FinishRng = Range(StartRng.Cells(1, 2), StartRng.Cells(10, 3))