Ako zvýrazniť riadky a stĺpce pri kliknutí na bunku

od autora: | 20. decembra 2019

Predpokladám, že ste niekedy potrebovali zvýrazniť riadky a stĺpce po kliknutí na akúkoľvek bunku hlavne pri prezeraní veľkého množstva dát. Primárne takúto možnosť v Exceli nenájdeme, preto použijeme makro.

 

Makro vyzerá nasledovne: 

Function Col_Letter(lngCol As Long) As String
    Dim vArr
    vArr = Split(Cells(1, lngCol).Address(True, False), "$")
    Col_Letter = vArr(0)
End Function

Public Sub SetCellPosition()
    Dim currentActiveCellAdress, columnLetter, rowRangeAddress, columnRangeAddress, selectionRangeAdress As String
    Dim rowNumber As Long

    columnLetter = Col_Letter(ActiveCell.Column)
    rowNumber = ActiveCell.Row

    rowRangeAddress = columnLetter & "1:" & columnLetter & rowNumber
    columnRangeAddress = "A" & rowNumber & ":" & columnLetter & rowNumber
    currentActiveCellAdress = ActiveCell.Address
    selectionRangeAdress = rowRangeAddress & ", " & columnRangeAddress

    Debug.Print selectionRangeAdress
    Debug.Print currentActiveCellAdress

    Range(selectionRangeAdress).Select
    Range(currentActiveCellAdress).Activate

End Sub

Makro uvedené vyššie vložíme do prostredia Microsoft Visual Basic for Applications. Najprv si okno Microsoft Visual Basic for Applications vyvoláme napr. prostredníctvom klávesovej skratky ALT + F11. Postupujeme podľa obrázka nižšie, kde do existujúceho zošita (projektu) vložíme modul cez Insert > Module (na obrázku sú to body č.1 a č.2). Potom vpravo do bieleho miesta vložíme zdrojový kód uvedený vyššie (bod č. 3).

Highlighting rows and columns by activecell VBA 01

Potom je potrebné ešte doplniť nasledujúci kód do udalosti Workbook_SheetSelectionChange, ktorú nájdete po kliknutí na objekt Workbook.

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Application.EnableEvents = False
    Call SetCellPosition
    Application.EnableEvents = True
End Sub

Postupujeme tak, že v danom zošite (projekte) naľavo klikneme 2x do Tento_zošit (This_workbook). Potom napravo hore zvolíme Workbook (namiesto (General))  a vpravo si všimnime či máme SheetSelectionChange. Ak áno, tak dole naspodu vložíme kód uvedený vyššie.

Highlighting rows and columns by activecell VBA 02

Súbor s makrom si môžete stiahnuť kliknutím sem.

Ak by ste mali otázky alebo pripomienky k tomuto makru, píšte prosím do komentárov alebo chatu, príp. ak máte záujem o školenie Excel VBA, neváhajte ma prosím kontaktovať.

Celkové hodnotenie

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *