달나라 노트

Google Apps Script : getDataRegion (Ctrl + a 기능 구현, Data Region 선택하기) 본문

Google Apps Script

Google Apps Script : getDataRegion (Ctrl + a 기능 구현, Data Region 선택하기)

CosmosProject 2021. 8. 5. 00:55
728x90
반응형

 

 

 

엑셀에는 Ctrl + a 단축키를 누르면 아래 이미지처럼 현재 셀 기준으로 주위로 Data가 있는 지역(Region)을 선택해줍니다.

 

 

이것을 코드로 구현해봅시다.

 

 

 

 

 

function myFunction() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet2'));

  spreadsheet.getRange('C4').activate();

  spreadsheet.getActiveRange().getDataRegion().activate();
}

- var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();

현재 active spreadsheet 정보를 얻어옵니다.

 

 

- spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet2'));

Sheet2라는 이름의 sheet를 선택(activate)합니다.

 

 

- spreadsheet.getRange('C4').activate();

C4 셀을 선택(activate) 합니다.

여기서 C4 셀은 현재 active 상태인 sheet의 C4 셀을 의미합니다.

즉, Sheet2의 C4 셀이겠네요.

 

 

- spreadsheet.getActiveRange().getDataRegion().activate();

getActiveRange() = 현재 active Range 정보를 얻어옵니다. 현재 active range는 Sheet2의 C4 셀입니다.

getDataRegion() = active range(Sheet2의 C4셀)를 기준으로 Data가 입력된 범위를 선택합니다.

activate() = getDataRegion으로 반환된 범위를 선택(activate) 합니다.

 

 

 

그러면 위처럼 해당 범위가 모두 선택됩니다.

 

 

 

 

function myFunction() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet2'));

  spreadsheet.getRange('C4').activate();

  spreadsheet.getActiveRange().getDataRegion().activate();
  spreadsheet.getActiveRange().setValue('1')
}

마지막에 setValue를 추가하여 해당 범위의 값을 모두 변경할 수도 있습니다.

 

 

 

 

 

 

 

728x90
반응형
Comments