I recorded an Office Script which I will share below that deletes multiple columns and have it running via "Run Script from Excel Online (Business)" while it works what happens is once column A is deleted and the column's shift it then begins a cycle of deleting the wrong columns. This even happens in power automate Desktop if I do them one at a time with the "Delete Column from Excel worksheet".
Is there a way to delete all the columns you want at once without shifting the sheet and it deleting the wrong ones.
function main(workbook: ExcelScript.Workbook) {
let selectedSheet = workbook.getActiveWorksheet();
// Delete range A:A on selectedSheet
selectedSheet.getRange("A:A").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range D:D on selectedSheet
selectedSheet.getRange("D:D").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range E:E on selectedSheet
selectedSheet.getRange("E:E").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range H:H on selectedSheet
selectedSheet.getRange("H:H").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range K:K on selectedSheet
selectedSheet.getRange("K:K").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range L:L on selectedSheet
selectedSheet.getRange("L:L").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range N:N on selectedSheet
selectedSheet.getRange("N:N").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range O:O on selectedSheet
selectedSheet.getRange("O:O").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range P:P on selectedSheet
selectedSheet.getRange("P:P").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range Q:Q on selectedSheet
selectedSheet.getRange("Q:Q").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range R:R on selectedSheet
selectedSheet.getRange("R:R").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range S:S on selectedSheet
selectedSheet.getRange("S:S").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range T:T on selectedSheet
selectedSheet.getRange("T:T").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range V:V on selectedSheet
selectedSheet.getRange("V:V").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range Y:Y on selectedSheet
selectedSheet.getRange("Y:Y").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range Z:Z on selectedSheet
selectedSheet.getRange("Z:Z").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range AA:AA on selectedSheet
selectedSheet.getRange("AA:AA").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range AC:AC on selectedSheet
selectedSheet.getRange("AC:AC").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range AB:AB on selectedSheet
selectedSheet.getRange("AB:AB").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range AE:AE on selectedSheet
selectedSheet.getRange("AE:AE").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range AF:AF on selectedSheet
selectedSheet.getRange("AF:AF").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range AH:AH on selectedSheet
selectedSheet.getRange("AH:AH").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range AI:AI on selectedSheet
selectedSheet.getRange("AI:AI").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range AJ:AJ on selectedSheet
selectedSheet.getRange("AJ:AJ").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range AK:AK on selectedSheet
selectedSheet.getRange("AK:AK").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range AL:AL on selectedSheet
selectedSheet.getRange("AL:AL").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range AN:AN on selectedSheet
selectedSheet.getRange("AN:AN").delete(ExcelScript.DeleteShiftDirection.left);
// Delete range AO:AO on selectedSheet
selectedSheet.getRange("AO:AO").delete(ExcelScript.DeleteShiftDirection.left);
}