엑셀 내용 수정한 이력을 남기고 싶을 때는 어떻게 할까?
연구실 동료인 규선쌤이 의사분들이 데이터 레이블링 할 때 응답 시간 체크할 방법으로 고통받고 있길래 찾아보고 처리할 방법을 공유하고자 남깁니다.
목표는 응답에 답을 입력시 응답 시간에 시간 기록을 남기는 것이다.
따라오면 됩니다.
[개발자 도구 메뉴 활성화 하는 법]
[Visual Basic script 작성]
//// 코드
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strNow As String
strNow = Now()
If Target.Column = 4 Then
Range("E" & Target.Row) = strNow
End If
End Sub
//// 코드 설명 (의역형태)
Private Sub Worksheet_Change(ByVal Target As Range)
: 워크시트 내용이 변경되면 변경된 칸 정보를 가져와라
Dim strNow As String
: strNow 라는 문자열 형태의 변수를 쓸거다
strNow = Now()
: strNow가 뭐냐면, '지금 이 시간이다.'
If Target.Column = 4 Then
: 4번째 열 (D 열)이 변경되면 할 일은 이거다.
(D열이면 4, E열이면5 식으로 변경하면 다 적용 됩니다.)
Range("E" & Target.Row) = strNow
: E열 같은 줄내용을 strNow(지금 이 시간)으로 입력해라.
(시간이 입력되길 원하는 열으로 지정 가능합니다. E, F, G 다~)
End If
: 3번째 열 변경시 할 일 끝
End Sub
: 워크시트 내용 변경 시 할 일 끝
끝!!
나중에 연산을 편하게 하시려면... 아래와 같이 코드를 작성하시면
2019:10:25:15:24:11
년:월:일:시:분:초 순서로 자릿수가 통일되서 나옵니다.
left함수등을 이용해서 시간차 등을 계산할 수 있습니다.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strNow As String
strNow = Now()
If Target.Column = 4 Then
Range("E" & Target.Row) = Format(strNow, "YYYY:MM:DD:HH:MM:SS")
End If
End Sub
'반치용 > 문제해결(trouble shooting)' 카테고리의 다른 글
[R]DsigDB 전처리 (0) | 2020.01.16 |
---|---|
[R]R에서 여러 환경 사용시 상대경로 활용법(서버, 데스크탑, 노트북, 협동 프로젝트) (0) | 2020.01.10 |
[R] R을 이용한 상대위험도 구하기 (relative risk,risk ratio) with epitab in r (0) | 2020.01.06 |
gpg 오류 대처 (0) | 2019.12.10 |
relative risk sample size (0) | 2019.10.14 |
댓글