Devi ricorrerre alle espressioni regolari per validare quel particolare formato. Quindi dovrai per prima cosa aprire l'editor vba, dal menu strumenti => riferimenti => spuntare la voce "microsoft vbscript regular expression x.x".
A questo punto fai doppio click sul foglio cui vuoi applicare la validazione e aggiungi, sempre nell'editor vba il seguente codice:
codice:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim re As Object
Set re = CreateObject("vbscript.regexp")
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
With re
.IgnoreCase = True
.Pattern = "^[A-Z]{6}[0-9]{2}[A-Z]{1}[0-9]{2}[A-Z]{1}[0-9]{3}[A-Z]{1}$"
If Not re.Test(Target) And Not IsEmpty(Target) Then
MsgBox "Formato CF errato"
Target.Select
Else
Target = UCase(Target)
End If
End With
End If
End Sub
Nel mio esempio le celle soggette alla validazione saranno solo quelle nel range a1:a10, tu modificalo secondo le tue esigenze.
Ho anche impostato che la validazione non sia case sensitive ma renda tutto il cf maiuscolo nel caso questo sia corretto. Anche su quello vedi tu se va bene così oppure no.