Google Apps Script : getNextDataCell (다음 데이터가 있는 셀로 이동하기)
Excel에서 Ctrl을 누른채로 방향키를 누르면 다음 데이터가 있는 가장 끝 셀로 이동됩니다.
위처럼 데이터가있고 B5셀에 커서가 있습니다.
이 상태에서 Ctrl + 우측방향키를 누르면?
그러면 F5 셀로 커서가 이동됩니다.
가장 마지막 데이터가 있는 곳으로 커서가 이동됩니다.
이것을 script코드로 구현해봅시다.
function myFunction() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet1'));
spreadsheet.getRange('B5').activate();
spreadsheet.getActiveRange().getNextDataCell(SpreadsheetApp.Direction.NEXT).activate();
}
- var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
active spreadsheet 객체를 얻어옵니다.
- spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet1'));
Sheet1에 있는 데이터에서 테스트를 할 것이므로 Sheet1을 activate합니다.
- spreadsheet.getRange('B5').activate();
B5 셀을 activate합니다.
- spreadsheet.getActiveRange().getNextDataCell(SpreadsheetApp.Direction.NEXT).activate();
getActiveRange() = 현재 active cell을 얻어옵니다. active cell은 B5입니다.
getNextDataCell(SpreadsheetApp.Direction.NEXT) = getNextDataCell은 Ctrl 방향키처럼 다음 방향에 있는 가장 마지막 데이터가 있는 Cell로 이동합니다.
여기서 Next는 우측으로 이동하라는 의미입니다.
즉, 위 코드는 Ctrl + 우측방향키와 동일한 효과를 가지는것이죠.
위 코드를 실행시키면 위처럼 F5셀이 activate되어있습니다.
B5셀에서 Ctrl + 우측방향키를 한 것과 동일합니다.
function myFunction() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet1'));
spreadsheet.getRange('C5').activate();
spreadsheet.getActiveRange().getNextDataCell(SpreadsheetApp.Direction.DOWN).activate();
}
이번에는 C5셀을 activate시킨 후
getNextDataCell을 DOWN direction으로 해봤습니다.
결과는 위와 같습니다.
C5셀을 기준으로해서 아래쪽으로 다음 데이터가 있는 가장 마지막 셀로 이동하면 C8셀이죠.
function myFunction() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet1'));
spreadsheet.getRange('D10').activate();
spreadsheet.getActiveRange().getNextDataCell(SpreadsheetApp.Direction.UP).activate();
}
이번에는 D10셀을 activate시킨 후
getNextDataCell을 UP direction으로 해봤습니다.
결과는 위와 같습니다.
C10셀을 기준으로해서 위쪽으로 다음 데이터가 있는 가장 마지막 셀로 이동하면 D2셀이죠.