Mi fa piacere.
1) Ad ogni foglio di lavoro sono associati degli eventi (procedure attivate dalle azioni dell'utente) che puoi vedere elencate e pronte all'uso con:
Alt+F11 > elenco a discesa sinistro: Worksheet > elenco a discesa destro: tutte le procedure-evento.
Tra questi eventi c'è anche Change (ma potresti usare anche Selection_Change per la gioia di monkey72) che intercetta la variazione di contenuto (change) di qualunque cella o range restituendotelo come argomento Target (range).
Se Target è di tuo interesse (B5) fai eseguire le istruzioni relative, nel tuo caso il salto ad H22:
Codice:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$5" Then
Range("H22").Activate
End If
End Sub
2) ogni cella ha un filtro sui dati immessi:
solo numeri; solo numeri interi; solo numeri compresi tra un minimo e un massimo; solo numeri che rispondono ai più svariati criteri; solo strighe alfanumeriche con qualunque regola di struttura;
oppure
solo stringhe alfanumeriche (o numeri) scelti da un elenco a piacere.
Si fa così:
Dati > Convalida > Consenti: Elenco > Origine: range di celle oppure elenco di valori separato da ;
(oppure anche una formula o un range nominato del Foglio o della Cartella, ma questo lo puoi lasciare per dopo).
Un'altra cosa che può essere utile, nel genere, è l'autoformattazione condizionale che ti permette di formattare a piacere una cella in base al suo valore, a quello di un'altra cella o al valore restituito da una formula.