일을 하다가 뭐라도 조금 편하게 만들어보기 위해서 만든 코드.
수많은 데이터들을 비교하여 체크해야 하는 일로 인해 현재 내가 선택한 위치의 값과 상,하의 데이터와 일일이 비교해보다보니 커서의 위치가 종종 혼동이되어 커서의 위치의 행의 배경을 변경하는 코드를 만들어 보았다.
- WorkSheet_SelectionChange 는 '셀 선택 영역이 변경될 때' 트리거되는 이벤트로 마우스로 클릭하는 것만으로도 이벤트를 발생한다.
코드의 구성은 나름 간단하다.
1. 현재 행과 이전행을 비교하고 다를시 이전행의 배경색을 기본색상으로 변경한다.
2. 현재 행의 배경색을 노랑색으로 변경한다.
3. 이전행의 값을 현재 행의 값으로 업데이트 한다.
아래의 코드는 A부터 Z까지의 배경색상을 변경하는 코드로 A~D만 변경하고 싶다면 col값을 4로 변경하면 된다.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static previousRow As Long
Dim currentRow As Long
Dim col As Long
currentRow = Target.Row
' Change the range of columns as needed
' A = 1, Z=26
col = 26
' Check if the current row is different from the previous row
If currentRow <> previousRow Then
' Set the background color of the previous row back to white for columns A:Z
If previousRow > 0 Then
For i = 1 To col
Me.Cells(previousRow, i).Interior.ColorIndex = xlNone ' Set to default white
Next i
End If
' Set the background color to yellow for columns A:Z in the current row
For j = 1 To col
Me.Cells(currentRow, j).Interior.Color = RGB(255, 255, 0) ' Set to yellow
Next j
' Update the previous row to the current row
previousRow = currentRow
End If
End Sub
'[엑셀][VBA][매크로]' 카테고리의 다른 글
[엑셀][VBA][매크로] VBA로 Excel에서 반복문 구현하기 (0) | 2024.08.30 |
---|---|
[엑셀][VBA][매크로] 엑셀 매크로로 이미지 이동 (0) | 2017.06.09 |
[엑셀][VBA][매크로] 셀 값을 텍스트 박스 안에 넣기 (0) | 2017.06.09 |