달나라 노트

Google Apps Script : getNextDataCell (다음 데이터가 있는 셀로 이동하기) 본문

Google Apps Script

Google Apps Script : getNextDataCell (다음 데이터가 있는 셀로 이동하기)

CosmosProject 2021. 8. 6. 13:04
728x90
반응형

 

 

 

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셀이죠.

 

 

 

 

 

 

 

728x90
반응형
Comments