본문 바로가기

컴퓨터 활용/구글스프레드시트 응용

구글 스프레드시트 - 시트 이름 목록화 & 빠른 시트이동 하기

구글 스프레드 시트를 쓰다보면 시트가 너무 많아 이동하기 불편할 떄가 있습니다. 
열심히 좌우 화살표 버튼을 눌러야 이동 할 수 있습니다. 

확장프로그램의 AppScript 를 열고 

다음과 같이 입력 한 후 listSheetName() 함수를 실행 시킵니다. 
예제 프로그램이 동작 되게 하기 위해서 시트를 여러개 만듭니다.


function listSheetName()
{
  var spreadsheet = SpreadsheetApp.getActive();
  var sht = spreadsheet.getSheetByName('메뉴'); // 시트 선택
  if(sht == null) spreadsheet.insertSheet('메뉴'); // 없으면 삽입

  for( var i =0; i< spreadsheet.getNumSheets(); i++) 
  {
      var ss = spreadsheet.getSheets(); // 시트를 얻는다. 

      sht.getRange(i+1,1).setValue((i+1)+")"+ss[i].getSheetName()) // 시트 이름을 목록화 한다. 
    
      if(ss[i].getSheetName() !="메뉴" )  ss[i].getRange("A1").setValue("목록화 OK");



  }
}

약간의 설명을 드리면,  getNumSheets 에서 시트 갯수를 얻고 루프를 돌려서 getSheets() 에서 받은 배열은 각 시트들입니다.  ss[i] 에서 i가 0 부터 루프를 돌리고  getSheetName() 함수를 이용하여 시트 이름을 얻습니다.
그리고 나서 메뉴 시트에 1행 부터 값(시트이름)이 들어가게 되는 것이죠.
그 다음에 A1셀에 목록화 OK 를 남깁니다.

 

다음과 같이 생성 됩니다. 

다음은 이동 링크를 만들어야 하는데 이것은 스크립트로 자동화하기 힘들어서 직접 추가해 줘야 합니다.

시트11 셀에 마우스오른쪽 버튼을 누르고 링크삽입을 선택하면 위와 같은 화면이 나오는데 첫번째 나오는 시트 11을 선택 해주면 됩니다.  그러면 다음과 같이 이동 링크가 만들어 집니다. 

목록을 적당히 수정해서 접근하기 쉽게 정리 해주시면 됩니다.

저는 주식관리 시트에 다음과 같이 분류별로 정리 해놓고 사용중입니다.