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