|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
- 엑셀 버전(95,97,2000,xp,2003,2007): 2010
1차 도움주신모든 분들 고맙습니다. 제가 능력이 부족하여 시키는 데로 했으나 스크립트가 먹히지 않아 재문의 드립니다.
아래 처럼 각 행이 H열의 값 비교하여 해당행의 셀을 잠그거나 해제 하는 기능을 만들고 싶습니다. 수식, VBA등 모든 방법을 활용해도 되구요. 회사 보안상 파일이 업로딩안되어 아래와 같이 글로만 설명 드립니다. 아래 값을 그대로 활용할수있도록 VBA 등 작성 도움 부탁드립니다.
H5의 값이 "OK"와 같을때, I5~L5 까지 값 입력 가능, OK가 아닐때 입력 불가능.
H6의 값이 "OK"와 같을때, I6~L6 까지 값 입력 가능, OK가 아닐때 입력 불가능.
.
.
.
H32의 값이 "OK"와 같을때, I32~L32 까지 값 입력 가능, OK가 아닐때 입력 불가능.
* 아래줄에 질문을 작성하세요 >>
==============[곰곰님 글에 대한 답변입니다]==============
Worksheet_SelectionChange 이벤트 활용하여 재작성한 것입니다'
참고하기 바랍니다.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rngX As Range
'입력범위 지정
Set rngX = Range("h5:l32")
'선택한 셀과 입력범위 확인
If Not Intersect(Target, rngX) Is Nothing Then
'선택한 셀과 입력범위 첫번째 열이면 그냥 통과
If Not Intersect(Target, rngX.Columns(1)) Is Nothing Then
Else
'선택한 셀과 입력범위의 첫번째 열아니고, 첫번재 열이 ok가 아니면 첫번째 열 선택
'rngX.Cells(1).Column : 입력범위 첫번째 셀
If UCase(Cells(Target.Row, rngX.Cells(1).Column)) <> "OK" Then
Cells(Target.Row, rngX.Cells(1).Column).Select
End If
End If
End If
End Sub |
|