|
* 아래줄에 질문을 작성하세요 >>
과제를 받았는데
아무 셀 클릭하면 그 셀 주변에 1이 증가하고
1 1 1
1 클릭 1
1 1 1
바로 밑에 셀 클릭하면 또 1씩 증가하는
1 1 1
2 1 2
2 클릭 2
2 2 2
이런걸 해오라는 과제를 받았는데 여기서 힌트를 좀 얻을 수 있을까요..?
==============[도웅님 글에 대한 답변입니다]==============
VBA 편집기에서 워크시트 하나를 더블클릭하고 다음 코드를 입력하세요.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' 현재 워크시트에서 셀포인터가 변경되었을 때 실행됨
' Target은 현재 선택된 셀을 가리킴
Dim r As Long '행번호 오프셋
Dim c As Long '열번호 오프셋
For r = 0 To 2 ' 0이면 한 줄 위, 1이면 같은 줄, 2이면 한 줄 아래
For c = 0 To 2 ' 0이면 한 칸 왼쪽, 1이면 같은 칸, 2이면 한 칸 오른쪽
If r * c <> 1 Then 'r=1, c=1인 경우는 Target(선택된 셀) 자신이 됨
' 자기자신은 변경하지 않는 거 맞지요?
' 자기자신에도 1을 더해야 한다면 이 조건문은 생략해야 함
Target.Cells(r, c) = Target.Cells(r, c) + 1
' 선택된 셀을 기준으로 주어진 오프셋만큼 이동한 셀의 값을 1 증가시킴
End If
Next c
Next r
End Sub
|
|