The personal.xlsb file is in the correct place and starts with xl.
I even tried substituting xlsb with an xlsm version to no effect.
However when I view the macros dialog box from the developer tab, two of the modules have "personal.xlsb!" prefixed to the module name, so I woder if this means that they will only work in that file and not globally?
I thought that openning the spreadsheet from the pen drive might disable macros for some security reason, likewise because they are outlook msg attachments, but I enabled macros in Outlook.
I think the problem might be in the actual code, so I've copied the 3 macros below.
Sub Unlock_and_Copy()
Dim Counter As Long
Dim HighRow As Long
'ActiveSheet.Unprotect ("8ball")
'Find out how many rows are in that column
For Counter = 16 To 140
If Cells(Counter, 4).Value = "" Then
Else
If Cells(Counter, 4).Value <> "TOTALS" Then
If Cells(Counter, 4).Value <> "Name/ PD No/ Date/ Title" Then
HighRow = Counter
End If
End If
End If
Next Counter
Range(Cells(16, 1), Cells(HighRow, 22)).Copy
End Sub
Sub Pastespecial()
Selection.Pastespecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Sub ColouredRows()
Dim Counter As Long
Dim Counter2 As Long
Dim MainColumn As String
Dim HighRow As Long
Dim PD1 As String
Dim PD2 As String
PD1 = 0
PD2 = 0
Dim LightBlue, LightYellow, LightGreen, PaleBlue, Rose, Lavender As Integer
LightBlue = 34
LightYellow = 36
Rose = 38
Lavender = 39
LightGreen = 35
PaleBlue = 37
Dim Colour1 As Integer
Dim Colour2 As Integer
Colour1 = PaleBlue
Colour2 = LightGreen
'Ask for the column to do everything for
MainColumn = InputBox("Enter the column containing the data you wish to use", Title)
'Find out how many rows are in that column
For Counter = 1 To 40000
If Cells(Counter, 2).Value = "" Then
Else
HighRow = Counter
End If
Next Counter
'Now change the colours
For Counter = 1 To HighRow
If Counter = 1 Then
Rows(Counter).Interior.ColorIndex = Colour1
Else
PD1 = Cells(Counter, MainColumn).Value
PD2 = Cells(Counter - 1, MainColumn).Value
If PD1 = PD2 Then
If Cells(Counter - 1, MainColumn).Interior.ColorIndex = Colour1 Then
Rows(Counter).Interior.ColorIndex = Colour1
Else
Rows(Counter).Interior.ColorIndex = Colour2
End If
Else
If Cells(Counter - 1, MainColumn).Interior.ColorIndex = Colour1 Then
Rows(Counter).Interior.ColorIndex = Colour2
Else
Rows(Counter).Interior.ColorIndex = Colour1
End If
End If
End If
Next Counter
End Sub