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).
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.

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ť.
