<요약>
1. 확장프로그램 - 스크립트를 열어
2. 기존내용대신 아래 코드를 붙여넣으면 끝
function onEdit(e) { var ss = SpreadsheetApp.getActiveSheet(); var currentCell = ss.getActiveCell(); if( currentCell.getColumn() == 9 ) { var nextCell = currentCell.offset(0, 1); var newDate = Utilities.formatDate(new Date(),"GMT+09:00", "yyyy/MM/dd hh:mm:ss"); nextCell.setValue(newDate); } }
<결과>
아래 사진과 같이 I열에 업데이트 이력을 적을 때 마다 J열에 업데이트 시간이 자동으로 기입됩니다.
<한계>
i열에 하나씩 적을땐 문제가 없는데 다른 엑셀이나 다른 열에 있는 내용을 한번에 복사해서 i2부터 i10까지 일괄 붙여넣기 해버리면
j2셀에만 업데이트 되는 한계가 있으니, 하나하나 업데이트 용으로만 쓰시기 바랍니다~
<상세 설명>
1. 확장프로그램 - 스크립트를 열어줍니다.
2. 기존에 적혀 있는 내용을 지우고 위에 적어드린 코드를 복사해서 덮어쓰기 하면 됩니다.
<처음 해보시는 분들 해당>
3. 위의 스크립트를 저장하고 재생 버튼을 눌러보면 보안 경고가 나옵니다.
모두 허용해주셔야 합니다
처음 한번만 허용해주시면 그 다음부터 문제없이 사용됩니다.
아래 사진은 순서대로 캡처한 것이며
권한검토 -> 고급 -> 허용 단계로 해주시면 됩니다.
업무용으로 여러 구성원들이 동시에 접속해서 수정할때 누가 언제 수정했는지 확인하기 위해서
1. 버전기록
2. 마우스 우측버튼 눌러 "수정기록표시"
로 확인하는게 너무 번거로워서
3. 컨트롤 ;과 컨트롤 : 으로 현재 날짜, 현재 시간 입력하라고 칸을 만들어줘도 잘 입력을 안하거나, 수정을 안해서
스크립트로 수정시간자동으로 찍히게 했더니 큰 문제 없이 잘 되고 있더라고요
다만, 수정할때 마다 초단위로 시간이 수정되고, 한번 생긴 이후로는 자세히 안봐서 제가 인지를 못했을지 모르겠네요
아하~ 그렇게 쓸일이 없어서 몰랐습니다.
말씀하신대로 여러셀을 복사해서 i2:i4까지 붙여넣기 해버리면 첫번째 셀만 먹히네요
본문에 반영해야겠습니다^^
1. 매크로 녹화해서 자동으로 만들어지는 스크립트가 제일 쉽고
2. 구글링해서 주워모은 스크립트가 대부분입니다.
3. 요즘 chatGPT가 스크립트 만들어 달라고 하면 다 만들어줘서 관심을 갖고 있습니다.
(엑셀 VBA, 파이썬, HTML, CSS등 코딩도 질문만 잘 하만 잘 만들어주고, 설명도 친절하게 해주더라고요)
var ss = SpreadsheetApp.getActiveSheet();
if (ss.getSheetName() === "Sheet1") {
var currentCell = ss.getActiveCell();
if( currentCell.getColumn() == 9 ) {
var nextCell = currentCell.offset(0, 1);
var newDate = Utilities.formatDate(new Date(),"GMT+09:00", "yyyy/MM/dd hh:mm:ss");
nextCell.setValue(newDate);
}
}
}
그 특정시트 이름이 sheet1 이라고 가정한 상황입니다.
----------
저는 안되는데 ???(화면에 나오는것) >> 적용됬나 확인방법은 어디서 확인하나요 ??
- 일반 히스토리 보기 내용을 보면 수정내용 보이는것 이것을 설정해서 보이는 것인가요? ( ok )
- 히스토리 기능을 처음 알았습니다,,,감사 합니다.