2015-01-28 4 views

ответ

1
Dim rng As Range 
... 
Set rng = rng.Resize(rng.Rows.Count, rng.Columns.Count - 1).Offset(0, 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 

В основном это удаляет первый столбец из блока.

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)) 
+0

Это будет более универсальным для создавая диапазоны в пределах диапазонов, где это не простой размер одного столбца, например @Joe. – Chrismas007

Смежные вопросы