ワークシートに適用された VBA コードとその変更があります。したがって、シートに新しいエントリまたは削除 (変更) があるたびに、それに関連付けられているすべてのピボット テーブルが更新されます。
Private Sub Worksheet_Change(ByVal Target As Range)
ThisWorkbook.RefreshAll
End Sub
(私は VBA や Office スクリプト コードにあまり詳しくないので、基本的な質問で申し訳ありません。)
しかし、これはExcelオンラインでは機能しません。したがって、Excel オンライン コード エディター (または typescript) で使用するコードが必要です。これまでのところ、私はこのコードを書くことができます -
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' が見つかりませんというエラーが表示されます。ワークシートに変更がある場合はいつでも動作するはずですが、そうではありません。これで私を助けてください。ありがとう。