Tự động update số lũy kế trong Google trang tính

Liên hệ QC

thanhan1234

Thành viên mới
Tham gia
3/8/07
Bài viết
30
Được thích
1
Gửi mọi người. Mình đang có 2 bảng dữ liệu giống hệt nhau lưu các số liệu. Trong đó 1 bảng dữ liệu là số của ngày hiện tại, 1 bảng dữ liệu là số lũy kế trong tháng. Có cách nào để tự động update sang Bảng Lũy kế, sau khi đã nhập dự liệu ở Bảng ngày hiện tại ở trên Google Sheet không ạ.
Hiện tại mình đã xin được Thành viên của diễn đàn hỗ trợ tạo nút "Update": Sau khi ấn chọn thì Excel tự động cộng lũy kế sang Bảng Lũy kế và xóa toàn bộ dự liệu hiện tại của bảng 1 đã nhập. Tuy nhiên khi đưa lên Google Sheet thì không thể hoạt động mã VBA được ạ.
Link bài đăng đã được thành viên diễn đàn hỗ trợ trên Excel ạ

Mình cảm ơn nhiều ạ.
Untitled.jpg

Em
 
Không có file Google Sheets thì chỉ làm trong trí tưởng tượng thôi bạn ơi.
 
Vâng bác, em quên mất :) .
Em gửi bác link file Google Sheet ạ:
Có vẻ không ai giúp bạn, hoặc họ liên lạc qua đàm thoại, tin nhắn nên tôi không thấy. Nếu đã có người giúp thì bạn dừng ở đây.

Không biết bạn sẽ có menu ở đâu nhưng tôi chọn menu Mở Rộng (hồi xưa ở Tools) rồi chọn Apps Script -> dán code sau vào code.gs

Tôi không thi thố gì cả. Nghĩ là không ai giúp bạn nên tham gia thôi.

function onOpen(e) {
SpreadsheetApp.getUi()
.createMenu('Menu Luy ke')
.addItem('Cong don', 'ABC')
.addToUi();
}

function ABC() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet()
var ngay = spreadsheet.getSheetByName('NGAY');
var luyke = spreadsheet.getSheetByName('LUYKE');
var h = ngay.getRange("A1").getDataRegion().getLastRow();
var w = ngay.getRange("A1").getDataRegion().getLastColumn();
for(i=2;i<=h;i++){
for(j=3;j<=w;j++){
luyke.getRange(i, j).setValue(luyke.getRange(i, j).getValue() + ngay.getRange(i, j).getValue());
}
}
ngay.getRange(2, 3, h-1, w-2).clearContent();
}


Khi mở tập tin thì 1 menu "Menu Luy ke" sẽ được tạo, có 1 mục menu "Cong don". Chọn "Cong don" thì code của hàm ABC sẽ được thực thi.

Tôi làm y như code của ai đó đã giúp bạn, tức thao tác cho từng cell.

Bạn có thể thử đổ vùng NGAY và LUYKE vào 2 mang (dùng getValues) -> cộng dồn trong mảng -> đổ mảng kết quả xuống LUYKE dùng SetValues. Tôi không muốn thử getValues vì đã có lần tôi gặp lỗi khi dùng getValues. Tôi không tìm cách khắc phục vì tôi chả làm gì liên quan tới bảng tính, thích thì chơi thôi chứ không cố tìm tòi. Cuộc sống có nhiều thứ thú vị hơn nhiều.
 
Có vẻ không ai giúp bạn, hoặc họ liên lạc qua đàm thoại, tin nhắn nên tôi không thấy. Nếu đã có người giúp thì bạn dừng ở đây.

Không biết bạn sẽ có menu ở đâu nhưng tôi chọn menu Mở Rộng (hồi xưa ở Tools) rồi chọn Apps Script -> dán code sau vào code.gs

Tôi không thi thố gì cả. Nghĩ là không ai giúp bạn nên tham gia thôi.

function onOpen(e) {
SpreadsheetApp.getUi()
.createMenu('Menu Luy ke')
.addItem('Cong don', 'ABC')
.addToUi();
}

function ABC() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet()
var ngay = spreadsheet.getSheetByName('NGAY');
var luyke = spreadsheet.getSheetByName('LUYKE');
var h = ngay.getRange("A1").getDataRegion().getLastRow();
var w = ngay.getRange("A1").getDataRegion().getLastColumn();
for(i=2;i<=h;i++){
for(j=3;j<=w;j++){
luyke.getRange(i, j).setValue(luyke.getRange(i, j).getValue() + ngay.getRange(i, j).getValue());
}
}
ngay.getRange(2, 3, h-1, w-2).clearContent();
}


Khi mở tập tin thì 1 menu "Menu Luy ke" sẽ được tạo, có 1 mục menu "Cong don". Chọn "Cong don" thì code của hàm ABC sẽ được thực thi.

Tôi làm y như code của ai đó đã giúp bạn, tức thao tác cho từng cell.

Bạn có thể thử đổ vùng NGAY và LUYKE vào 2 mang (dùng getValues) -> cộng dồn trong mảng -> đổ mảng kết quả xuống LUYKE dùng SetValues. Tôi không muốn thử getValues vì đã có lần tôi gặp lỗi khi dùng getValues. Tôi không tìm cách khắc phục vì tôi chả làm gì liên quan tới bảng tính, thích thì chơi thôi chứ không cố tìm tòi. Cuộc sống có nhiều thứ thú vị hơn nhiều.
Mấy hôm em bận quá nên chưa xem thử. Nay em vừa chạy thử Code của bác trên file temp Google Sheet này thì thấy đã thành công rồi ạ. Em cảm ơn bác nhiều ạ. Chắc em sẽ còn tùy biến thêm 1 chút nữa, có gì em xin phép hỏi tiếp bác ạ.
 
Web KT

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

Back
Top Bottom