Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Potresti pensare di sfruttare l'evento Worksheet_SelectionChange dei fogli di lavoro.
Ad es. qualcosa del genere:
'---
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const sAddressNome As String = "C1"
Const sAddressIndirizzo As String = "B1"
Const sAddressCittà As String = "D1"
Dim iColor1 As Long, iColor2 As Long, iColor3 As Long
Select Case Target.Address(False, False)
Case sAddressNome
'Call OrdinaPerNome '<=== macro che ordina per nome
iColor1 = vbRed
iColor2 = vbBlack
iColor3 = vbBlack
Case sAddressIndirizzo
'Call OrdinaPerIndirizzo '<=== macro che ordina per indirizzo
iColor1 = vbBlack
iColor2 = vbRed
iColor3 = vbBlack
Case sAddressCittà
'Call OrdinaPerCittà '<=== macro che ordina per città
iColor1 = vbBlack
iColor2 = vbBlack
iColor3 = vbRed
Case Else
iColor1 = vbBlack
iColor2 = vbBlack
iColor3 = vbBlack
End Select
With Me
.Range(sAddressNome).Font.Color = iColor1
.Range(sAddressIndirizzo).Font.Color = iColor2
.Range(sAddressCittà).Font.Color = iColor3
End With
End Sub
'----