Przykład na tworzenie własnej zmiennej typu Range i posługiwanie się właściwościami obiektu Range, typu Range:
- CurrentRegion
- Rows(W)
- Columns(K)
- Cells(W,K)
Sub WlasnaZmiennaRange() Dim Zakres As Range Dim LW As Long, LK As Long 'sprawdzenie, czy aktywna komórka znajduje się 'w zakresie danych, przy pomocy własnej funkcji logicznej If fnBrakZakresu Then Exit Sub 'ustawienie referencji do obiektu 'na podstawie właściwości "Bieżący obszar" aktywnej komórki Set Zakres = ActiveCell.CurrentRegion 'kolorowanie zakresu poprzez własną zmienną Zakres.Interior.ColorIndex = 35 'odczyt liczby wierszy i kolumn zakresu LW = Zakres.Rows.Count LK = Zakres.Columns.Count 'wyświetlenie wartości zmiennych w oknie debuggera Debug.Print "lw: " & LW Debug.Print "lk: " & LK 'kolorowanie skrajnych wierszy Zakres.Rows(1).Interior.ColorIndex = 34 Zakres.Rows(LW).Interior.ColorIndex = 34 'i kolumn Zakres.Columns(1).Interior.ColorIndex = 34 Zakres.Columns(LK).Interior.ColorIndex = 34 'kolorowanie narożników zakresu Zakres.Cells(1, 1).Interior.ColorIndex = 36 Zakres.Cells(1, LK).Interior.ColorIndex = 36 Zakres.Cells(LW, 1).Interior.ColorIndex = 36 Zakres.Cells(LW, LK).Interior.ColorIndex = 36 End Sub |
Na koniec funkcja logiczna, z której korzysta powyższa procedura:
Function fnBrakZakresu() As Boolean If Len(ActiveCell) = 0 Then MsgBox "Ustaw się w niepustej komórce zakresu danych!" fnBrakZakresu = True End If End Function |