Em hỏi vì sao khi file googlesheet của em thì code chạy (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

Hoale85

Thành viên chính thức
Tham gia
2/8/24
Bài viết
67
Được thích
1
function onEdit(e) {
try {
var s = e.source.getActiveSheet();
var r = e.range;
// Kiểm tra tên trang tính
if (s.getName() == "Vin Gia lam") {

// Kiểm tra nếu ô chỉnh sửa nằm trong cột I (9) hoặc J (10)
if (r.getColumn() == 9 || r.getColumn() == 10) {
Logger.log("Sửa đổi tại ô: " + r.getA1Notation()); // Ghi thông tin ô đã chỉnh sửa vào log
var row = r.getRow(); // Lấy dòng của ô vừa chỉnh sửa

// Kiểm tra nếu cột I (9) được chỉnh sửa
if (r.getColumn() == 9) {
// Xác định vị trí cột P và Q (cột 16 và 17)
var historyColumnStart = 16; // Cột P là cột 16

// Lấy giá trị cũ của ô trước khi thay đổi
var oldValue = e.oldValue; // Lấy giá trị cũ từ sự kiện onEdit

if (oldValue) {
// Lưu giá trị cũ vào các ô từ cột P trở đi (P, Q, R, S, T)
var historyRange = s.getRange(row, historyColumnStart, 1, 5); // Lưu vào cột P đến T
var historyValues = historyRange.getValues(); // Lấy các giá trị lịch sử đã lưu
// Di chuyển các giá trị cũ về phía trước
for (var i = 3; i >= 0; i--) { // Chỉ đẩy 4 cột (P, Q, R, S) lên trước
historyValues[0][i + 1] = historyValues[0];
}

// Đưa giá trị cũ vào cột P
historyValues[0][0] = oldValue;
// Cập nhật lại giá trị vào các cột P đến T
historyRange.setValues(historyValues);
}
}
// Kiểm tra nếu cột J (10) được chỉnh sửa
if (r.getColumn() == 10) {
// Cột U là cột 21
var historyColumnStart = 21; // Cột U là cột 21
// Lấy giá trị cũ của ô trước khi thay đổi
var oldValue = e.oldValue; // Lấy giá trị cũ từ sự kiện onEdit

if (oldValue) {
// Lưu giá trị cũ vào cột U
var historyRange = s.getRange(row, historyColumnStart, 1, 1); // Lưu vào cột U
historyRange.setValue(oldValue);
}
}
// Cập nhật thời gian hiện tại vào cột O
var nextCell = s.getRange(r.getRow(), 15); // Cột O
var currentTime = new Date();
nextCell.setValue(currentTime);
nextCell.setNumberFormat("yyyy-MM-dd HH:mm:ss");
}
}
} catch (e) {
Logger.log("Lỗi: " + e.message); // Log any error
}
}
Em hỏi vì sao khi file googlesheet của em thì code chạy mà khi chia sẽ file mà họ thay đổi dữ liệu thì nó lại không hiện ạ. Anh chị giúp em với ạ
 
Bởi vì mình không chịu lắng nghe, bởi vì mình phớt lờ câu trả lời.
Bởi vì không cho code vào đúng vị trí.
Bởi vì không chịu khám phá ra nơi chuyên về Google Sheets.

1741404225468.png
 
Web KT

Bài viết mới nhất

Back
Top Bottom