엑셀 셀 이동 이벤트(VBA) : SELECTION_CHANGE EVENT
VBA가 뭔지 모르던 때 우연히 봤던 블로그 글에서,
FOR/IF 문 챕터에 셀 이동 이벤트로 색이 칠해지는 매크로를 보고,
신기하다고 생각했던 기억이 있다.
거의 이것때문에, 이거저거 코드 짜는 것에 대한 걸 취미로 스터디 하게 된 것 같다.
신박하기는 하나, 실무에서 사용할 일은 별로 없을 듯.
그래도 이거 하나만 알아도 대부분의 코드에서 응용해서 사용이 가능하다.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
rngCount = Target.Count
For x = 1 To rngCount
If IsNumeric(Target(x).Value) = True And Target(x).Value > 0 Then
Target(x).Value = Target(x).Value + 1
'색변경
Call cCOLOR(Target, x)
Else
Target(x).Value = 1
'색변경
Call cCOLOR(Target, x)
End If
Next x
End Sub
Private Sub cCOLOR(ByVal Target As Range, ByVal x As Integer)
If Target(x).Value <= 55 Then
Target(x).Interior.ColorIndex = Target(x).Value
Else
Target(x).Interior.ColorIndex = Target(x).Value - (55 * Application.WorksheetFunction.RoundDown(Target(x).Value / 55, 0))
End If
End Sub