Nếu bạn muốn tự động mở bảng tính, bạn sẽ phải cài đặt có thể cài đặt trênMở sẽ gọi hàm bên dưới (từ trình chỉnh sửa tập lệnh goto ressources> kích hoạt tập lệnh này> thêm trình kích hoạt mới> sreadsheet/Mở)
Và đây là đoạn code cho các cột: (xem dưới đây để biết hàng)
function customOnOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
var headers = sh.getRange(1,1,1,sh.getLastColumn()).getValues();
var today = new Date().setHours(0,0,0,0);
for(var n=0;n<headers[0].length;++n){
var date = new Date(headers[0][n]).setHours(0,0,0,0);
Logger.log(today+' =? '+date)
if(date==today){
n++
Logger.log('match on column '+n)
if(n>=2){sh.getRange(1,n-1,sh.getMaxRows(),1).setBackground(null);};// resets the backGround for yesterday if not the first column
sh.getRange(1,n,sh.getMaxRows(),1).setBackground('yellow');
break;
}
}
}
phiên bản này để tô màu cho hàng
function customOnOpen2() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
var headers = sh.getRange(1,1,sh.getLastRow()).getValues();
var today = new Date().setHours(0,0,0,0);
for(var n=0;n<headers.length;++n){
var date = new Date(headers[n][0]).setHours(0,0,0,0);
Logger.log(today+' =? '+date)
if(date==today){
n++
Logger.log('match on column '+n)
if(n>=2){sh.getRange(n-1,1,1,sh.getMaxColumns()).setBackground(null);}
sh.getRange(n,1,1,sh.getMaxColumns()).setBackground('yellow');
break;
}
}
}
Lưu ý: nếu bạn muốn nó chạy hoàn toàn tự động dựa trên bộ hẹn giờ hoàn toàn có thể thực hiện được, chỉ cần thay đổi biến ss và sh bằng cách sử dụng openById
và getSheetByName
(see doc here) và thiết lập bộ hẹn giờ để hoạt động mỗi ngày vào khoảng 1 giờ sáng.
nên có; trong hàm ARRAYFORMULA, nhưng cảm ơn ví dụ – machj