Trợ giúp rút gọn code ggsheet

Liên hệ QC

GTK-PM

Thành viên thường trực
Tham gia
10/11/13
Bài viết
313
Được thích
15
Mã:
function KHCHAMTHUONGXUYEN() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('A2:S500').activate()
  .sort([{column: 12, ascending: true}, {column: 4, ascending: false}]);
};
{
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('A2:S500').activate();
  spreadsheet.getActiveRangeList().setWrapStrategy(SpreadsheetApp.WrapStrategy.WRAP);
};
{
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('D2:D500').activate();
  spreadsheet.getActiveRangeList().setHorizontalAlignment('center')
  .setVerticalAlignment('bottom');
};

{
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('E:E').activate();
  spreadsheet.getActiveSheet().hideColumns(spreadsheet.getActiveRange().getColumn(), spreadsheet.getActiveRange().getNumColumns());
  spreadsheet.getRange('F1').activate();
};{
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('I:I').activate();
  spreadsheet.getActiveSheet().hideColumns(spreadsheet.getActiveRange().getColumn(), spreadsheet.getActiveRange().getNumColumns());
  spreadsheet.getRange('F1').activate();
};
{
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('P:S').activate();
  spreadsheet.getActiveSheet().hideColumns(spreadsheet.getActiveRange().getColumn(), spreadsheet.getActiveRange().getNumColumns());
  spreadsheet.getRange('F1').activate();
};
{
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('A:A').activate();
  spreadsheet.getActiveSheet().hideColumns(spreadsheet.getActiveRange().getColumn(), spreadsheet.getActiveRange().getNumColumns());
  spreadsheet.getRange('F1').activate();
};
{
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('O:O').activate();
  spreadsheet.getActiveSheet().showColumns(spreadsheet.getActiveRange().getColumn(), spreadsheet.getActiveRange().getNumColumns());
  spreadsheet.getRange('F1').activate();
};
{
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('A2:S500').activate()
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('K1').activate();
  spreadsheet.getActiveSheet().getFilter().removeColumnFilterCriteria(11);
};
'REMOVE THEO TUAN'
{
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('N1').activate();
  spreadsheet.getActiveSheet().getFilter().removeColumnFilterCriteria(14);
};
'REMOVE THEO DIEU KIENNC'
{var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('G1').activate();
  spreadsheet.getActiveSheet().getFilter().removeColumnFilterCriteria(7);
};
'REMOVE THEO DIEU KIENKH'
{var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('L1').activate();
  spreadsheet.getActiveSheet().getFilter().removeColumnFilterCriteria(12);
};
'REMOVE THEO DIEU KIEN5/7D'
{var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('L1').activate();
  spreadsheet.getActiveSheet().getFilter().removeColumnFilterCriteria(19);
};
'REMOVE THEO TUANQUA5/7D'
{var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('L1').activate();
  spreadsheet.getActiveSheet().getFilter().removeColumnFilterCriteria(17);
};

Em muốn nhờ anh chị rút gọn lại đoạn code trên ạ.
 
Rất mong anh chị giúp đỡ ạ.
 
Rất mong anh chị giúp đỡ ạ.
Get active() loạn xạ cả luôn. Bạn tạo một file GSheet với fake data dc ko? mình muốn xem nhu cầu của bạn cụ thể là gì vì hoàn toàn có thể form lại dữ liệu (để các Range tác động gọn gàng hơn) trước khi áp script.
ví dụ:
đoạn ".....setHorizontalAlignment('center').setVerticalAlignment('bottom'); " không biết có thực sự cần thiết không? và nếu có tại sao ko format ngay từ nguồn.
 
Get active() loạn xạ cả luôn. Bạn tạo một file GSheet với fake data dc ko? mình muốn xem nhu cầu của bạn cụ thể là gì vì hoàn toàn có thể form lại dữ liệu (để các Range tác động gọn gàng hơn) trước khi áp script.
ví dụ:
đoạn ".....setHorizontalAlignment('center').setVerticalAlignment('bottom'); " không biết có thực sự cần thiết không? và nếu có tại sao ko format ngay từ nguồn.

Mình gửi file lên bạn xem, và góp ý cho mình cải tiến file sao cho tối ưu hóa giúp mình.
Trong file có liên kết form nên mình sử dụng đoạn chưa ạ.
 
Mình gửi file lên bạn xem, và góp ý cho mình cải tiến file sao cho tối ưu hóa giúp mình.
Trong file có liên kết form nên mình sử dụng đoạn chưa ạ.
Của bạn đây nhé! (Không phải tất cả phải .activate() thì mới gán lệnh được đâu.). Mình format theo file của bạn vì còn liên đới nhiều Script khác, chứ thực ra thì hoàn toàn có thể customize nhiều thứ nữa ngay từ nguồn data.

Ah.. bạn làm ở "sàn" nào đấy ? có ... "thụ hưởng" gần 109 không ?

Mã:
function KHCHAMTHUONGXUYEN() {
  var ss = SpreadsheetApp.getActive();
  var range=ss.getRange('A2:S').activate();
 
  range.sort([{column: 12, ascending: true}, {column: 11, ascending: false}]);
  range.setWrapStrategy(SpreadsheetApp.WrapStrategy.WRAP);
 
  var range=ss.getRange('D:D');
  range.setHorizontalAlignment('center').setVerticalAlignment('bottom'); // Có lý do gì mà set format cell cột này lại căn lề dưới vậy bạn ?
 
  var sheet =ss.getSheets()[0]; 
  sheet.hideColumns(1); //Column A
  sheet.hideColumns(5);  //Column E
  sheet.hideColumns(9); //Column I
  sheet.hideColumns(16,4); //Column P:S
  sheet.showColumns(15); //Column O
 
  sheet.getFilter().removeColumnFilterCriteria(11);  // ????
  sheet.getFilter().removeColumnFilterCriteria(14);  //'REMOVE THEO TUAN'
  sheet.getFilter().removeColumnFilterCriteria(7);   //'REMOVE THEO DIEU KIENNC'
  sheet.getFilter().removeColumnFilterCriteria(12);  //'REMOVE THEO DIEU KIENKH'
  sheet.getFilter().removeColumnFilterCriteria(19);  //'REMOVE THEO DIEU KIEN5/7D'
  sheet.getFilter().removeColumnFilterCriteria(17);  //'REMOVE THEO TUANQUA5/7D'
};

abc.png
Bài đã được tự động gộp:

à quên, bạn share view nên mình phải make copy thành 1 file khác để Test (script chỉ chạy khi cấp phép nên phải đăng nhập account)

 
Web KT
Back
Top Bottom