2013-11-14 1 views
1

열 A의 셀에 값이없는 Google 드라이브 스프레드 시트의 모든 행을 숨기려고합니다. 그런 다음 필요할 때 다시 볼 수 있습니다. 이 함수의 스크립트/공식은 무엇입니까? 감사합니다열 A의 셀에 값이없는 Google 드라이브 스프레드 시트의 모든 행을 숨기려고합니다.

모든 행을 표시하는 메뉴를 포함하도록 업데이트
+0

첫 번째 권장 사항으로 [Google Apps Script] (https://developers.google.com/apps-script), 구체적으로 [스프레드 시트 서비스] (https://developers.google. com/apps-script/reference/spreadsheet),'DeleteRows (RowPosition, howMany)','insertRowsAfter (afterPosition, howMany)','hideRow (row)'및'unhideRow (row)'와 같은 메소드를 볼 수있다. 유용한. – wchiquito

+0

감사합니다. 일부 도움이되었습니다. 나는 이것을 발견했다 : var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets() [0]; // 첫 번째 행을 숨김 var range = sheet.getRange ("A1"); sheet.hideRow (range); 하지만 스크립팅을 처음 접했을 때 열 A에 값이없는 행을 숨기는 스크립트가 무엇인지 정말 알아야합니다. 무엇을 입력하고 어디에서? 덕분에 – user2622970

답변

1

: 차라리으로 onOpen 동안 그렇게보다 메뉴 항목으로 빈 행의 숨김을 할 수 있도록 Blexy의 메뉴를 수정 한

var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheets()[0]; 
var range = sheet.getRange(1, 1, sheet.getLastRow()); 


function onOpen() { 
    //add menu called Visibility onOpen 
    ss.addMenu("Visibility", [{ 
     name: "Show All Rows", functionName: "showAllRows" 
    }]); 

    //get the values to those rows 
    var values = range.getValues(); 

    //go through every row 
    for (var i=0; i<values.length; i++){ 

     //if row value is equal to empty 
     if(values[i][0] === ""){ 

     //hide that row 
     sheet.hideRows(i+1); 
     } 
    } 
} 

function showAllRows(){ 
    sheet.showRows(1,sheet.getLastRow()); 
} 
+0

스크립트가 실행되도록 승인해야 할 수도 있습니다. 스크립트 편집기 창에서 스크립트를 실행 해보십시오. – Blexy

+0

감사합니다. Blexy, 마침내 스크립트가 작동했습니다. 또 다른 질문은 숨겨진 행을 선택하는 대신 클릭 한 번으로 모든 행을 숨김 해제하는 스크립트/작업을 수행하는 방법입니다. 감사합니다 – user2622970

+0

@ user2622970 모든 행을 표시하는 옵션이있는 메뉴를 추가했습니다. – Blexy

0

.

var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheets()[0]; //Sheet1 is in Array[0] 
var range = sheet.getRange(1, 1, sheet.getLastRow()); 


function onOpen() { 
    //add menu called Visibility onOpen 
    ss.addMenu("Visibility", 
       [{ 
       name: "Show All Rows", functionName: "showAllRows" 
       }, 
       { 
       name: "Hide All Empty Rows", functionName: "hideAllEmptyRows" 
       } 
       ] 
      ); 
} 

function showAllRows(){ 
    sheet.showRows(1,sheet.getLastRow()); 
} 

function hideAllEmptyRows(){ 
    //get the values to those rows 
    var values = range.getValues(); 

    //go through every row 
    for (var i=0; i<values.length; i++){ 
     //if row value is equal to empty 
     if(values[i][0] === ""){ 

     //hide that row 
     sheet.hideRows(i+1); 
     } 
    } 

} 
+0

2 번 : 시트 번호 대신 시트 이름을 사용하려면 2 행을 다음과 같이 바꿀 수 있습니다. 'var sheet = ss.getSheetByName ("Sheet1");' –

관련 문제