/ / Non Sequential Range - excel, vba, excel-vba

Non-Sequential Range - excel, vba, excel-vba

Czy mogę ustawić obiekt zakresu, aby był równy zestawowi niesekwencyjnych komórek? Chcę, aby mój Zasięg był równy komórkom A1, A3, A5 itd., Gdzie mogę dowolnie wybierać wiersze i kolumny.

Odpowiedzi:

2 dla odpowiedzi № 1

Oczywiście, na przykład wybiera dość losowy zestaw komórek:

Range("A1:C8,E13:G21,C20:D26,L13:N22").Select

a to wybiera komórki, o których wspomniałeś:

Range("A1,A3,A5").Select

Możesz także łączyć Zasięg obiekty z Unia metoda.


1 dla odpowiedzi nr 2

Od MSDN:

Metoda unijna

Użyj Union (range1, range2, ...), aby zwrócić zakresy wielokrotnego obszaru - to znaczy zakresy złożone z dwóch lub większej liczby sąsiednich bloków komórek. Poniższy przykład tworzy obiekt zdefiniowany jako połączenie zakresów A1: B2 i C3: D4, a następnie wybiera zdefiniowany zakres.

Dim r1 As Range, r2 As Range, myMultiAreaRange As Range
Worksheets("sheet1").Activate
Set r1 = Range("A1:B2")
Set r2 = Range("C3:D4")
Set myMultiAreaRange = Union(r1, r2)