Typical!!
I've just found a piece of code which allows me store unique values in a range.
I've modified it to suit my requirements.
The only thing that it doesn't do is rename sheets 2 or 3... Although, I could easily get round this by just deleting those sheets at the start.
Sub AddingSheetsFromArray()
Dim tmp As String
Dim arr() As String
Dim LastRow As Integer
LastRow = Range("A" & Rows.Count).End(xlUp).Row
For Each cell In Range("A2:A" & LastRow)
If (Left(cell, 3) <> "") And (InStr(tmp, Left(cell, 3)) = 0) Then
tmp = tmp & Left(cell, 3) & "|"
End If
Next cell
If Len(tmp) > 0 Then tmp = Left(tmp, Len(tmp) - 1)
arr = Split(tmp, "|")
For x = 0 To UBound(arr)
Sheets.add(after:=Sheets(Sheets.Count)).Name = arr(x)
Next x
End Sub
@snb,
Thanks for your link. I'll take a look and try to learn a bit more about arrays.
I think for now, as I can just delete sheets 2 and 3, I'll mark this as solved. Feel free to post improvements
Thanks for looking.