[Docs]스프레드시트

스프레드시트에서 수정, 삭제 버튼 만들기

by nanumi posted Mar 09, 2023
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

스프레드시트에서 수정, 삭제 버튼 만들기


# 수정할 데이터 찾아서 수정하기

function showEditPrompt() {
  var ui = SpreadsheetApp.getUi();
  var result = ui.prompt('데이터 수정''수정할 데이터를 입력하세요:'ui.ButtonSet.OK_CANCEL);
 
  if (result.getSelectedButton() == ui.Button.OK) {
    var sheet = SpreadsheetApp.getActiveSheet();
    var data = sheet.getDataRange().getValues();
    var found = false;
 
    for (var i = 0i < data.lengthi++) {
      if (data[i].indexOf(result.getResponseText()) >= 0) {
        var editResult = ui.prompt('데이터 수정''수정할 내용을 입력하세요:'ui.ButtonSet.OK_CANCEL);
        if (editResult.getSelectedButton() == ui.Button.OK) {
          sheet.getRange(i+1data[i].indexOf(result.getResponseText())+1).setValue(editResult.getResponseText());
          ui.alert('데이터가 수정되었습니다.');
          found = true;
          break;
        }
      }
    }
 
    if (!found) {
      ui.alert('데이터를 찾을 수 없습니다.');
    }
  }
}



# 수정할 데이터 찾아서 일괄수정하기

function showEditPrompt1() {
  var prompt = Browser.inputBox("수정할 문자열을 입력하세요."Browser.Buttons.OK_CANCEL);
  if (prompt == "cancel") {
    return;
  }
  var replacePrompt = Browser.inputBox("새로운 문자열을 입력하세요."Browser.Buttons.OK_CANCEL);
  if (replacePrompt == "cancel") {
    return;
  }
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var count = 0;
 
  for (var i = 0i < data.lengthi++) {
    for (var j = 0j < data[i].lengthj++) {
      if (data[i][j].toString().indexOf(prompt) !== -1) {
        sheet.getRange(i + 1j + 1).setValue(replacePrompt);
        count++;
      }
    }
  }
  if (count > 0) {
    Browser.msgBox("수정 결과"count + "개의 셀이 수정되었습니다.",Browser.Buttons.OK);
  } else {
    Browser.msgBox("수정 결과""일치하는 내용이 없습니다.",Browser.Buttons.OK);
  }
}




# 삭제할 데이터 찾아서 삭제하기

function showDeletePrompt() {
  var ui = SpreadsheetApp.getUi();
  var result = ui.prompt('데이터 삭제''삭제할 데이터를 입력하세요:'ui.ButtonSet.OK_CANCEL);
 
  if (result.getSelectedButton() == ui.Button.OK) {
    var sheet = SpreadsheetApp.getActiveSheet();
    var data = sheet.getDataRange().getValues();
    var found = false;
 
    for (var i = 0i < data.lengthi++) {
      if (data[i].indexOf(result.getResponseText()) >= 0) {
        sheet.deleteRow(i+1);
        ui.alert('데이터가 삭제되었습니다.');
        found = true;
        break;
      }
    }
 
    if (!found) {
      ui.alert('데이터를 찾을 수 없습니다.');
    }
  }
}


 

# 삭제할 데이터 찾아서 일괄삭제하기

function showDeletePrompt1() {
  var prompt = Browser.inputBox("삭제할 문자열을 입력하세요."Browser.Buttons.OK_CANCEL);
  if (prompt == "cancel") {
    return;
  }
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var count = 0;
 
  for (var i = 0i < data.lengthi++) {
    for (var j = 0j < data[i].lengthj++) {
      if (data[i][j].toString().indexOf(prompt) !== -1) {
        sheet.getRange(i + 1j + 1).setValue("");
        count++;
      }
    }
  }
  if (count > 0) {
    Browser.msgBox("삭제 결과"count + "개의 셀이 삭제되었습니다.",Browser.Buttons.OK);
  } else {
    Browser.msgBox("삭제 결과""일치하는 내용이 없습니다.",Browser.Buttons.OK);
  }
}