我有一个应用于工作表的 VBA 代码及其更改。因此,每当工作表中有新条目或删除(任何更改)时,它都会刷新所有附加到它的数据透视表 -
Private Sub Worksheet_Change(ByVal Target As Range)
ThisWorkbook.RefreshAll
End Sub
(我对 VBA 或 office 脚本代码不是很熟悉,所以对于基本问题很抱歉。)
但这不适用于在线excel。因此,我需要在 excel 在线代码编辑器(或打字稿)中使用的代码。到目前为止,我能够编写这段代码 -
async function main(workbook: ExcelScript.Workbook) {
await Excel.run(async (context) => {
console.log("Adding Sheet OnChange Handler");
let mysheet = context.workbook.worksheets.getItem("Attendance");
mysheet.onChanged.add(ref);
await context.sync();
console.log("Added a worksheet-level data-changed event handler.");
}
)};
function ref(workbook: ExcelScript.Workbook) {
let selectedsheet = workbook.getActiveWorksheet();
selectedsheet.refreshAllPivotTables();
console.log("Pivot Refreshed.");
};
我收到一个错误找不到名称“Excel”,只要工作表中没有任何变化,它就应该工作。请帮我解决一下这个。谢谢。