Rendere Maiuscola la prima lettera di una parola.  (30/05/03)

Un semplice esercizio per impostare maiuscola la prima lettera di una parola inserita in una cella. Al di lą di focalizzare a quale evento associare le istruzioni (che ognuno potrą decidere per le proprie esigenze), mi limito alla creazione di una macro da associare ad un pulsante. Sarą possibile intervenire su celle specifiche, o su un'intero range di celle. Seguiamo questo esempio: per prima cosa identificheremo la zona su cui intervenire (con UsedRange), poi controlleremo che ogni cella della zona non sia vuota o non contenga numeri, se conterrą del testo, estraiamo la prima lettera della parola nella cella (con Mid) e gli applichiamo la maiuscola (con UCase), a questa prima lettera aggiungiamo il resto della parola (seconda istruzione Mid) che verrą resa tutta minuscola (con LCase). Queste le istruzioni:

Sub Maiuscola()
Dim C As Object
Set zona = ActiveSheet.UsedRange
For Each C In zona
If C <> "" And IsNumeric(C) = False Then
C = UCase(Mid(C, 1, 1)) + LCase(Mid(C, 2))
End If
Next
End Sub

Per l'attivazione in automatico, potremo scegliere per esempio, l'evento Worksheet_Change anzichč affidarci ad un pulsante, cosģ che ad ogni cambiamento in una cella, o aggiunta, scatti la routine.

Se invece vorremo lavorare su una cella specifica, questa sarą un'istruzione (A1 come esempio):

Range("A1") = UCase(Mid(Range("A1"), 1, 1)) + LCase(Mid(Range("A1"), 2))


Buon lavoro.


prelevato sul sito http://ennius.interfree.it