Change color sheet name tab excel

Hi everyone,
I need to change the color of the Excel sheet name tab without using the Excel interface, so only in the background.
Can anyone help me?

Thank you very much.

You can do this without opening Excel manually by using background automation with UiPath. The trick is to use the Workbook activities (which don’t require the Excel application to be visible) together with the Invoke VBA activity or the Set Tab Color property in Excel-specific libraries.

How can i use the Set Tab Color property in Excel-specific libraries?
Could you give me an example?

Try this
Use Excel Application Scope and ensure Visible is False and inside the scope, use Invoke VBA activity with a macro like

Sub ChangeTabColor(sheetName As String, colorIndex As Integer)
    ThisWorkbook.Sheets(sheetName).Tab.ColorIndex = colorIndex
End Sub

Make sure sheetName is the name of your sheet and colorIndex is the standard Excel color index (1-56, e.g., 3 = red) and pass arguments from UiPath sheetName and colorIndex

Cheers

Aren’t there any UiPath activities that allow me to do this without using VBA code?

@simone.trenta

Ideally without vba you cannot do as of now

if not vba directly use invoke code and write a .net code which again is same as vba

cheers

No there isn’t any activity that can be used to change the colour of sheet name instead of VBA code.

Cheers

Method: Using Invoke VBA Activity

Use Excel Application Scope.

Add an Invoke VBA activity and provide a macro like this:

Sub ChangeTabColor(sheetName As String, colorIndex As Integer)
ThisWorkbook.Sheets(sheetName).Tab.ColorIndex = colorIndex

End Sub

Pass arguments:

sheetName: Name of your sheet (string, e.g., “Sheet1”)

colorIndex: Standard Excel color index (integer, e.g., 3 for red).