Akademia VBA

czyli jak uzyskać władzę nad światem … danych

CurrentRegion bez nagłówka

Kategorie: Excel VBA — Dariusz Kolasa o 12:08, 15 Gru 2010

Często potrzebujemy obiektu prawie identycznego z bieżącym zakresem, ale bez wiersza nagłówkowego. Oczywiście można go za każdym razem obliczyć na podstawie właściwości obiektu Range, lub zrobić to raz i zapisać w postaci funkcji

Function BiezacyZakresBezNaglowka() As Excel.Range
 
    'Oczywiscie zakładamy,
    'że komórka aktywna jest w zakresie
 
    Dim Zakres As Range
    Dim LW As Long, LK As Long
 
    Set Zakres = ActiveCell.CurrentRegion
    LW = Zakres.Rows.Count
    LK = Zakres.Columns.Count
    Set BiezacyZakresBezNaglowka = _
        Range(Zakres.Cells(2, 1), Zakres.Cells(LW, LK))
 
End Function
 
Sub TestFunkcji()
 
    'dla sprawdzenia pokolorujemy
    BiezacyZakresBezNaglowka.Interior.ColorIndex = 34
 
End Sub

CurrentRegion bez nagłówka

Kategorie: Excel VBA — Dariusz Kolasa o 12:08, 15 Gru 2010

Często potrzebujemy obiektu prawie identycznego z bieżącym zakresem, ale bez wiersza nagłówkowego. Oczywiście można go za każdym razem obliczyć na podstawie właściwości obiektu Range, lub zrobić to raz i zapisać w postaci funkcji

Function BiezacyZakresBezNaglowka() As Excel.Range
 
    'Oczywiscie zakładamy,
    'że komórka aktywna jest w zakresie
 
    Dim Zakres As Range
    Dim LW As Long, LK As Long
 
    Set Zakres = ActiveCell.CurrentRegion
    LW = Zakres.Rows.Count
    LK = Zakres.Columns.Count
    Set BiezacyZakresBezNaglowka = _
        Range(Zakres.Cells(2, 1), Zakres.Cells(LW, LK))
 
End Function
 
Sub TestFunkcji()
 
    'dla sprawdzenia pokolorujemy
    BiezacyZakresBezNaglowka.Interior.ColorIndex = 34
 
End Sub

CurrentRegion bez nagłówka

Kategorie: Excel VBA — Dariusz Kolasa o 12:08, 15 Gru 2010

Często potrzebujemy obiektu prawie identycznego z bieżącym zakresem, ale bez wiersza nagłówkowego. Oczywiście można go za każdym razem obliczyć na podstawie właściwości obiektu Range, lub zrobić to raz i zapisać w postaci funkcji

Function BiezacyZakresBezNaglowka() As Excel.Range
 
    'Oczywiscie zakładamy,
    'że komórka aktywna jest w zakresie
 
    Dim Zakres As Range
    Dim LW As Long, LK As Long
 
    Set Zakres = ActiveCell.CurrentRegion
    LW = Zakres.Rows.Count
    LK = Zakres.Columns.Count
    Set BiezacyZakresBezNaglowka = _
        Range(Zakres.Cells(2, 1), Zakres.Cells(LW, LK))
 
End Function
 
Sub TestFunkcji()
 
    'dla sprawdzenia pokolorujemy
    BiezacyZakresBezNaglowka.Interior.ColorIndex = 34
 
End Sub