As background, this macro (which I got from this forum) works just fine in my personal.xls macro list. However, I was trying to pass it along to someone else and at some point they had deleted their personal.xls file. So, I went through the process of

creating a workbook called personal.xls
dropping it in their XLSTART folder
hiding the workbook and saving it

Everything seems to be fine. Their EXCEL now opens with the typical default workbook and I can see the personal.xls in the VBA explorer.

However, this macro doesn't work for them if it is saved into the personal.xls workbook. It is supposed to take the active workbook and look at the items in a list and create a separate tab for each of the unique values. Stepping through it

it finds a unique value list (in this case from column one)
Creates a tab called UniqueList
Creates all the necessary tabs and copies the appropriate info
Deletes the UniqueList tab

Let's say that the workbook we want to modify is called TEST. The problem seems to be that it keeps making the personal.xls file the active workbook at some point. So, when the macro runs, it will find the unique values on TEST workbook, but create the UniqueList tab in the personal.xls workbook (with the unique values from the TEST workbook). And then error out.

Here is the code

Sub SplitIntoWorksheets()
'Declare variables
Dim rRange As Range, rCell As Range
Dim wSheet As Worksheet, wSheetStart As Worksheet
Dim strTitle As String, fCol As Long

'Speed up execution
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

'Set activesheet to a variable name so we can refer to it easily
    Set wSheetStart = ActiveSheet

'Turn off the Autofilter in case it got left on accidentally
    wSheetStart.AutoFilterMode = False

'Enter the column # here to evaluate, column A = 1
    fCol = 1
  
'Set a range out the values in the chosen column
    Set rRange = Range(Cells(1, fCol), Cells(Rows.Count, fCol).End(xlUp))
 
'Check if "UniqueList" sheet exists
    If Not Evaluate("ISREF(UniqueList!A1)") Then
        Worksheets.Add().Name = "UniqueList"        'add it if needed
    Else
        Worksheets("UniqueList").Cells.Clear        'clear it if it exists already
    End If
    
'Filter the Set rRange so unique item list is created
    With Worksheets("UniqueList")
        rRange.AdvancedFilter xlFilterCopy, , Worksheets("UniqueList").Range("A1"), True

'Set the rRange variable to the unique list of values, without the heading
        Set rRange = .Range("A2", .Range("A" & Rows.Count).End(xlUp))
    End With

'Starting with the original data sheet again...
    With wSheetStart
    '...Evaluate the rRange items against the data sheet one unique value at a time
        For Each rCell In rRange
        'create a version of the value with no spaces in it so it can be used as sheetname
            strTitle = Left(Replace(rCell, " ", "_"), 31)
        'Filter the original data by the field:=fCol and the criteria1:=rcell
            .Range("A1").AutoFilter fCol, rCell
        
        'Test to see if a sheet already exists for this value
            If Not Evaluate("ISREF('" & strTitle & "'!A1)") Then
                Worksheets.Add().Name = strTitle     'add it if needed
            Else
                Worksheets(strTitle).Cells.Clear     'clear it if it exists
            End If
    
        'Copy filtered data (visible data only) to the new/cleared sheet
            .UsedRange.Copy Destination:=Worksheets(strTitle).Range("A1")

        'Clean up the new sheet's appearance
            Worksheets(strTitle).Cells.Columns.AutoFit

        'Loop around to the next unique value
        Next rCell

    'When all values are processed, turn off the Autofilter in the data
        .AutoFilterMode = False

    'Return to the data sheet
        .Activate
    End With

'delete UniqueList worksheet
    Sheets("UniqueList").Select
    ActiveWindow.SelectedSheets.Delete

'reactivate application settings turned off earlier for speed
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
     
End Sub