Per modificare il nome della colonna hai due alternative:
1) usare gli alias nella query.
Cioè, invece di scrivere
codice:
SELECT stato_contratto, campo2, campo3, ...
devi usare
codice:
SELECT stato_contratto As [Stato del Contratto], campo2, campo3, ...
Le parentesi quadre sono necessarie solo se il nome che usi contiene spazi o caratteri speciali o è un nome riservato (classici caso: PASSWORD, NOTE, ...).
Da ciò ne conviene che non puoi usare gli alias se usi la sintassi SELECT * (che tra l'altro non andrebbe mai usata).
2) modificare il nome nel ciclo
Cioè:
codice:
For iCol = 1 To fldCount
Select Case lcase$(rs.Fields(iCol - 1).Name)
Case "stato_contratto "
xlWs.Cells(1, iCol).Value = "Stato del Contratto"
Case Else ' uso quella originale
xlWs.Cells(1, iCol).Value = rs.Fields(iCol - 1).Name
End Select
Next
Ciao