Sureshaddin.xla -

  • Custom Functions (UDFs)
  • Automation Routines
  • UI Extensions
  • Configuration Data
  • Error Handling & Logging
  • If you want, I can:

    Master Your Excel Reports with the SureshAddIns.xla Tool Tired of manually typing out "Rupees Five Thousand Only" for every invoice? If you handle Indian payroll, accounting, or tax filings, you know how tedious it is to format numbers into the Indian currency system. Enter SureshAddIns.xla

    (often referred to as Sureshaddin), a lightweight Excel add-in designed to automate these repetitive tasks. What is SureshAddIns.xla?

    SureshAddIns is a specialized Excel macro-enabled add-in (.xla) that introduces custom functions to your spreadsheet. Its primary goal is to bridge the gap between standard Excel formatting and the specific requirements of Indian financial reporting, such as the lakh/crore comma system and "amount in words". Key Functions You Need to Know

    Once installed, you can use these three powerful functions just like any standard Excel formula: =INR(Cell_Reference)

    : Converts a standard number into the Indian currency format with proper comma placement (e.g., 1,00,000 instead of 100,000). =RSWORDS(Cell_Reference) Sureshaddin.xla

    : This is the fan favorite. It instantly converts a numerical value into words in Indian Rupees (e.g., "Rupees One Lakh Twenty Thousand Only"). =REVINR(Cell_Reference)

    : A "reverse" function that strips away the Indian formatting and symbols, converting the value back into a raw number so you can perform further calculations. Why Use It?

    While modern versions of Excel have improved formatting, the "SpellNumber" functionality still requires manual VBA coding for many users. This add-in provides a "plug-and-play" solution that: Reduces Errors : No more typos when writing out large sums in words. Saves Time : Automates formatting for hundreds of rows in seconds. Professional Polish

    : Ensures your invoices and payslips look standardized and professional. How to Get Started To use these tools, you typically download the file and add it via Excel’s

    menu (File > Options > Add-ins > Go...). Once checked, the functions become available across your workbooks. Whether you are a tax professional using resources like SimpleTaxIndia Custom Functions (UDFs)

    or an HR manager, this tiny file is a must-have in your Excel toolkit. on how to install files in the latest version of Excel?

    SureshAddIn.xla is a legacy Excel add-in designed to handle Indian currency formatting, featuring functions for converting numbers into Indian-style comma formatting and converting numerical values into text. It provides specialized functions like INR, REVINR, and RSWORDS to bridge gaps in older Excel versions regarding Lakhs and Crores, according to SimpleTaxIndia. You can find more information about this tool on SimpleTaxIndia.

    Here’s a short post about Sureshaddin.xla, written for an Excel or tech support context.


    Title: ⚠️ What Is Sureshaddin.xla? (And Why You Might See It in Excel)

    If you’ve opened Excel and noticed a reference to Sureshaddin.xla in your Add-Ins list, VBA Project Explorer, or startup folder, you’re not alone. Automation Routines

    Sureshaddin.xla is an Excel Classic Add-In (.xla = Excel 97-2003 Add-In format). While the name doesn’t correspond to any official Microsoft file, it’s typically associated with:

    🔍 What to do if you find Sureshaddin.xla:

    ✅ If you intentionally installed a custom add-in named Sureshaddin.xla (e.g., from a colleague or legacy system), keep it in a trusted folder and back up the original source code.

    💬 Have you come across Sureshaddin.xla? Share your experience below.


    Here is how to put together the SureshAddin feature set.

    ' Code for ThisWorkbook or a Module to handle menus
    Const MenuName As String = "Suresh Utilities"
    Sub Auto_Open()
        ' Creates the menu item when Excel starts
        Call CreateMenu
    End Sub
    Sub Auto_Close()
        ' Removes the menu item when Excel closes
        Call DeleteMenu
    End Sub
    Sub CreateMenu()
        Dim HelpMenu As CommandBarControl
        Dim NewMenu As CommandBarPopup
        Dim MenuItem As CommandBarControl
        Dim SubMenuItem As CommandBarButton
    ' Delete the menu if it already exists
        Call DeleteMenu
    ' Find the Help Menu position to insert before it
        Set HelpMenu = CommandBars(1).FindControl(ID:=30010) ' ID for Help
    ' Create the main menu popup
        Set NewMenu = CommandBars(1).Controls.Add(Type:=msoControlPopup, Before:=HelpMenu.Index, Temporary:=True)
        NewMenu.Caption = MenuName
    ' --- ADD MENU ITEMS ---
    ' 1. Toggle Gridlines
        Set MenuItem = NewMenu.Controls.Add(Type:=msoControlButton)
        With MenuItem
            .Caption = "Toggle Gridlines"
            .OnAction = "ToggleGridlines"
            .FaceId = 364 ' Icon for grid
        End With
    ' 2. Sheet Protection Tools
        Set MenuItem = NewMenu.Controls.Add(Type:=msoControlPopup)
        MenuItem.Caption = "Protection Tools"
    ' Sub-item: Protect All
            Set SubMenuItem = MenuItem.Controls.Add(Type:=msoControlButton)
            SubMenuItem.Caption = "Protect All Sheets"
            SubMenuItem.OnAction = "ProtectAllSheets"
    ' Sub-item: Unprotect All
            Set SubMenuItem = MenuItem.Controls.Add(Type:=msoControlButton)
            SubMenuItem.Caption = "Unprotect All Sheets"
            SubMenuItem.OnAction = "UnprotectAllSheets"
    ' 3. Case Changer
        Set MenuItem = NewMenu.Controls.Add(Type:=msoControlButton)
        With MenuItem
            .Caption = "Change Case to UPPERCASE"
            .OnAction = "ChangeCaseUpper"
        End With
    ' 4. Insert Row (A common utility)
        Set MenuItem = NewMenu.Controls.Add(Type:=msoControlButton)
        With MenuItem
            .Caption = "Insert Row After Selection"
            .OnAction = "InsertRowAtSelection"
        End With
    End Sub
    Sub DeleteMenu()
        ' Safely remove the menu
        On Error Resume Next
        CommandBars(1).Controls(MenuName).Delete
        On Error GoTo 0
    End Sub
    

    Paste this below the menu code in the same Module.

    ' ------------------ FEATURE FUNCTIONS ------------------
    Sub ToggleGridlines()
        ' Toggles gridlines for the active window
        ActiveWindow.DisplayGridlines = Not ActiveWindow.DisplayGridlines
    End Sub
    Sub ProtectAllSheets()
        Dim ws As Worksheet
        Dim pwd As String
    pwd = InputBox("Enter a password to protect all sheets (leave blank for no password):", "Protect Sheets")
    For Each ws In ActiveWorkbook.Worksheets
            If pwd <> "" Then
                ws.Protect Password:=pwd
            Else
                ws.Protect
            End If
        Next ws
    MsgBox "All sheets protected.", vbInformation
    End Sub
    Sub UnprotectAllSheets()
        Dim ws As Worksheet
        Dim pwd As String
    pwd = InputBox("Enter the password to unprotect sheets (leave blank if no password):", "Unprotect Sheets")
    On Error Resume Next
        For Each ws In ActiveWorkbook.Worksheets
            If pwd <> "" Then
                ws.Unprotect Password:=pwd
            Else
                ws.Unprotect
            End If
            If Err.Number <> 0 Then
                MsgBox "Incorrect password for sheet: " & ws.Name
                Err.Clear
                Exit Sub
            End If
        Next ws
        On Error GoTo 0
    MsgBox "All sheets unprotected.", vbInformation
    End Sub
    Sub ChangeCaseUpper()
        Dim cell As Range
        ' Convert selected cells to Upper Case
        On Error Resume Next
        For Each cell In Selection
            If cell.HasFormula = False Then
                cell.Value = UCase(cell.Value)
            End If
        Next cell
    End Sub
    Sub InsertRowAtSelection()
        ' Inserts a row below the current selection
        Dim rng As Range
        Set rng = Selection
        rng.Offset(1, 0).EntireRow.Insert
    End Sub