Vista la competenza e gli spunti che ho preso da questo sito per costruirmi una piccola macro mi rivolgo allo stesso per chiedere se c'è la possibilità di fare una cosa a cui non sto trovando una soluzione. Nelle varie operazioni di formattazione di cui ho bisogno, mi servirebbe riuscire a trasformare in maiuscolo tutto il testo delle celle di un determinato range. Questo passaggio sono riuscito a risolverlo in parte con questa istruzione:
- Codice: Seleziona tutto
Set zona = Worksheets("Rinnovi").Range("D1:M" & cella_finale)
For Each cella In zona
cella.Value = UCase(cella.Value)
Next
Dico in parte perchè la macro in questione deve girare su un Excel per Macintosh, e chi ha avuto esperienze in merito sa di quanto sia più lenta un'istruzione con questa configurazione. Avevo avuto un problema simile con la copia dei campi che ho brillantemente risolto copiando il blocco delle celle invece che ogni singolo campo. Qui mi servirebbe fare una cosa simile ma non so se sia possibile (contate che non avevo mai visto una macro o del VBA fino ad una settimana fa...). In sostanza, invece di selezionare ogni singola cella mediante il ciclo FOR e copiarci il proprio contenuto trasformato in maiuscolo, dovrei copiare tutto il range "D1:M" & cella_finale e incollarlo nella medesima posizione con la trasformazione maiuscola. Si può operare in qualche modo o è concettualmente impossibile?
Grazie a chi mi aiuterà!
Saluti.
Ocimin