100 줄의 Google 스프레드 시트가 있습니다.
해당 파일을 열 때마다 테이블 끝에 행을 삽입하고 싶습니다.
문서를 열 때 표의 마지막 줄로 어떻게 이동할 수 있습니까?
새 줄을 삽입하려면 지금 아래로 스크롤해야하기 때문입니다.
Home
키를 눌렀을 때 쉽게 수정됩니다 .
100 줄의 Google 스프레드 시트가 있습니다.
해당 파일을 열 때마다 테이블 끝에 행을 삽입하고 싶습니다.
문서를 열 때 표의 마지막 줄로 어떻게 이동할 수 있습니까?
새 줄을 삽입하려면 지금 아래로 스크롤해야하기 때문입니다.
Home
키를 눌렀을 때 쉽게 수정됩니다 .
답변:
스프레드 시트를 열 때마다 실행되는 트리거를 만들 수 있습니다.
도구 → 스크립트 편집기로 이동 하여 다음을 붙여 넣습니다.
function onOpen(e) {
var spreadsheet = e.source;
var sheet = spreadsheet.getActiveSheet();
var lastRow = spreadsheet.getLastRow();
if (sheet.getMaxRows() == lastRow) {
sheet.appendRow([""]);
}
lastRow = lastRow + 1;
var range = sheet.getRange("A" + lastRow + ":A" + lastRow);
sheet.setActiveRange(range);
}
저장 버튼을 클릭 한 다음 스크립트 편집기와 스프레드 시트를 닫습니다.
이제 스프레드 시트를 다시여십시오. 몇 초를 주면 시트 끝에 새 행이 삽입되고 해당 행이 선택되었음을 알 수 있습니다.
이 스프레드 시트 를 작성 하여 자유롭게 복사 할 수 있습니다 ( 파일 → 복사 클릭 ). 스크립트가 성공적으로 실행 되려면 자신의 사본을 실행해야합니다.
onOpen
함수 이름은 특별한 의미가 있습니다. 설명서를 참조하십시오 . 단일 인수 인 Event
object 가 필요 합니다 . 그것의 source
속성은 스프레드 시트에 대한 참조가 열릴 것입니다. 스프레드 시트를 사용하면 content가getLastRow()
있는 마지막 행의 인덱스를 찾을 수 있습니다 . getMaxRows()
시트의 최대 행 수, 비어있는 행 수를 제공합니다. 그 지식으로 마지막 행에 내용이 있는지 확인할 수 있습니다. 그렇다면 빈 행을 새로 추가하십시오. 마지막으로 범위를 만들고 호출 setActiveRange
하여 마지막 행으로 이동할 수 있습니다.
아무것도 삽입하지 않고 마지막 줄로 이동하려면 다음과 같이 스크립트를 단순화 할 수 있습니다.
function onOpen(e) {
var spreadsheet = e.source;
var sheet = spreadsheet.getActiveSheet();
var lastRow = spreadsheet.getLastRow();
var range = sheet.getRange("A" + lastRow + ":A" + lastRow);
sheet.setActiveRange(range);
}
특정 열에 수식이 채워져 있다는 추가 문제가 있고 수식이 아닌 데이터가있는 첫 번째 행으로 스크롤하려는 경우 다음과 같은 방법이 있습니다. 이 경우 열 A에는 수식이 끝까지 있으므로 열 5 이하에서 열 B의 첫 번째 빈 셀로 스크롤합니다.
function onOpen(e) {
var spreadsheet = e.source;
var sheet = spreadsheet.getActiveSheet();
var row = 5;
while (true) {
var range = sheet.getRange("B" + row);
if (!range.getValue()) {
sheet.setActiveRange(range);
return;
}
row++;
}
}
다른 답변에서 알 수 있듯이 도구 → 스크립트 편집기를 열고 해당 기능을 붙여 넣고 "프로젝트"이름을 지정한 다음 스프레드 시트를 저장하고 다시로드해야합니다.