VBA aanpassen naar script voor Excel Online

Maar dit doe je dan eerst in excel zelf? (daar kan je niet het script aanpassen toch? dat moet dan weer in de online versie?)
2024-03-28_15-43-21.png
 
Met deze format blijft alleen de datum uit het verleden staan.
Zo staat ie toch in het script?

2024-03-28_15-59-40.png
 
Nee hoor, ik heb die Automate tab ook in Desktop Excel. Ik zou dat filter ook in Excel on-line even checken, is misschien niet hetzelfde datum format!
 
zo staat ie in online (welliswaar in engels)

2024-03-28_16-05-05.png
 
Als je zo'n datum cel aanklikt, dan zie je in de formulebalk ook de huidige datumopmaak waarmee het filter zou moeten werken
 
Heb nu in de excel desktop ook de automate tab gevonden.

daar werkt het dus wel, probleem is dus in online
 
Probeer het eens met deze variant:

Code:
function main(workbook: ExcelScript.Workbook) {
  let table1 = workbook.getTable("Table1438");
  // Apply custom filter on table table1 column "datum"
  console.log("<" + new Date().toISOString().slice(0, 10));
  table1.getColumnByName("Start evenement").getFilter().applyCustomFilter("<" + new Date().toISOString().slice(0, 10));
  let selectedSheet = workbook.getActiveWorksheet();
  let verleden_2024 = workbook.getWorksheet("Verleden 2024");
  // Paste to range A2 on verleden_2024 from range A2:A58 on selectedSheet
  const dataRange = table1.getRangeBetweenHeaderAndTotal();
  const visibleAreas = dataRange.getSpecialCells(ExcelScript.SpecialCellType.visible);
  
  if (visibleAreas !== undefined) {
    console.log("Verplaatsen gestart");
    verleden_2024.getRange("A" + verleden_2024.getRange().getRowCount()).getRangeEdge(ExcelScript.KeyboardDirection.up).getOffsetRange(1, 0).copyFrom(visibleAreas)
    let areas = visibleAreas.getAreas();
    for (let i = areas.length - 1; i >= 0; i = i - 1) {
      areas[i].getEntireRow().delete(ExcelScript.DeleteShiftDirection.up);
    }
  } else {
    console.log("Niets te kopieren");
  }
  table1.getAutoFilter().clearCriteria();
}
 
Terug
Bovenaan Onderaan