我有一个应用于工作表及其更改的 VBA 代码。因此,每当工作表中有新条目或删除(任何更改)时,它都会刷新附加到它的所有数据透视表 -
Private Sub Worksheet_Change(ByVal Target As Range)
ThisWorkbook.RefreshAll
End Sub
(我对 VBA 或 Office 脚本代码不太熟悉,很抱歉提出基本问题。)
但这在Excel Online上不起作用。因此我需要一个在 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”每当工作表中有任何更改时它都应该起作用,但事实并非如此。请在这件事上给予我帮助。
谢谢。
我认为你错过了()
在结束时refreshAllPivotTables
method.
请尝试这个 -
function main(workbook: ExcelScript.Workbook) {
workbook.refreshAllPivotTables(); // Refresh all pivot tables
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)