I would like to delete worksheet in an Excel, which name should not be include text 'Success'.
How to do that? Thank you.
Please follow the below approach:
Code:
Excel.LaunchExcel.LaunchAndOpenUnderExistingProcess Path: $'''C:\\Users\\Downloads\\EmpDetails_Sheet1.xlsx''' Visible: True ReadOnly: False Instance=> ExcelInstance
Excel.GetAllWorksheets Instance: ExcelInstance Worksheets=> SheetNames
Display.ShowMessageDialog.ShowMessage Title: $'''Info''' Message: SheetNames Icon: Display.Icon.None Buttons: Display.Buttons.OK DefaultButton: Display.DefaultButton.Button1 IsTopMost: False ButtonPressed=> ButtonPressed
LOOP FOREACH CurrentItem IN SheetNames
IF NotContains(CurrentItem, $'''Success''', True) THEN
Excel.DeleteWorksheet.DeleteWorksheetByName Instance: ExcelInstance Name: CurrentItem
END
END
Excel.CloseExcel.CloseAndSave Instance: ExcelInstance
Thanks,
Deenuji Loganathan 👩‍💻
Automation Evangelist 🤖
Follow me on LinkedIn 👥
-------------------------------------------------------------------------------------------------------------
If I've helped solve your query, kindly mark my response as the solution ✔ and give it a thumbs up!👍 Your feedback supports future seekers 🚀
Hi @Tracy1 ,
Please find the solution.
Code:
FUNCTION 'User Input' GLOBAL
Excel.LaunchExcel.LaunchAndOpenUnderExistingProcess Path: $'''C:\\Users\\vr79540\\Desktop\\Power Automate Desktop\\Practice\\Excel\\Positive.xlsx''' Visible: True ReadOnly: False Instance=> ExcelInstance
Excel.GetAllWorksheets Instance: ExcelInstance Worksheets=> SheetNames
LOOP FOREACH CurrentItem IN SheetNames
IF NotContains(CurrentItem, $'''Success''', True) THEN
Excel.DeleteWorksheet.DeleteWorksheetByName Instance: ExcelInstance Name: CurrentItem
END
END
Excel.CloseExcel.CloseAndSave Instance: ExcelInstance
END FUNCTION
(Note:- if you got your solution you can mark as solution and gives kudos)
Thanks & Regards
Vishnu Reddy
eetuRobo
18
Super User 2025 Season 1
stampcoin
6
John_Mavridis
6
Microsoft Employee