Condividi:        

Excel scorciatoia x minuscole - maiuscole

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Excel scorciatoia x minuscole - maiuscole

Postdi MarioSilla » 08/11/06 22:00

Ciao. Ho un file excel contenente dati vari, alcuni scritti in maiuscolo e altri in minuscolo. Esiste una scorciatoia x fare in modo che tutto diventi o maiuscolo o minuscolo ?

Grazie e ciao :-?
MarioSilla
Utente Senior
 
Post: 159
Iscritto il: 13/10/06 11:54

Sponsor
 

Postdi Anthony47 » 08/11/06 23:50

Prova questa macro, DOPO aver fatto 2 copie di backup dell tuo file:
Codice: Seleziona tutto
Sub smaiusc()
For Each cell In ActiveSheet.UsedRange
'If IsText("AA") Then BB = "Pio"
If Val(cell.Value) <> 0 Then GoTo Skip
cell.Value = Application.WorksheetFunction.Proper(cell.Value)
Skip:
Next
End Sub


Lanciali foglio dopo foglio, trasforma tutto in minuscolo eccetto l' iniziale; se vuoi tutto minuscolo invece di .Proper usa .Lower

Ciao,
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Excel scorciatoia x minuscole - maiuscole

Postdi MarioSilla » 09/11/06 08:57

Sei stato grande, funziona a meraviglia

:lol:
MarioSilla
Utente Senior
 
Post: 159
Iscritto il: 13/10/06 11:54

Postdi Anthony47 » 09/11/06 18:53

funziona a meraviglia

Beh.. funziona ma non e' perfetta.

Infatti:
-la funzione .Lower non e' disponibile in vba
-il controllo che la cella contenga una stringa e' un po' grossolano

Per i posteri, la macro suggerita e' questa:
Codice: Seleziona tutto
Sub smaiusc()
For Each Cell In ActiveSheet.UsedRange
If Application.WorksheetFunction.IsText(Cell.Value) Then
  Cell.Value = Application.WorksheetFunction.Proper(Cell.Value)  '<<<Minuscolo
  End If
Next
End Sub

che trasforma tutto in minuscolo eccetto l' iniziale di ogni parola.

Per tutto minuscolo e tutto maiuscolo, usare una di queste istruzione al posto di quella marcata <<<:
Codice: Seleziona tutto
cell.Value = LCase(cell.Value)  '<<<minuscolo
cell.Value = UCase(cell.Value)  '<<<MAIUSCOLO


Ciao a tutti,
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi Alexsandra » 09/11/06 20:45

e se sono 2 frasi, e le celle (non tutte) contengono delle formule?
come si potrebbe fare
- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale.

Win7 + Office 2003 Ita
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi Anthony47 » 10/11/06 01:58

L' indovinello di Alexsandra mette in evidenza un PERICOLO di ambedue le macro che ho postato:
-se la cella contiene un testo che e' dovuto a una formula [es: SE(A1>B2;"OK";"ERRATO")], la macro sostituisce la formula con il testo (minuscolo o maiuscolo secondo i casi), distruggendo cioe' la formula. Cosa ovviamente molto GRAVE.


Per i posteri suggerisco:
1) due copie di backup sempre
2) questa "penultima" versione della macro:
Codice: Seleziona tutto
Sub smaiusc()
For Each Cell In ActiveSheet.UsedRange
If (Application.WorksheetFunction.IsNonText(Cell.Value) + Cell.HasFormula) Then GoTo Skippa
Cell.Value = Application.WorksheetFunction.Proper(Cell.Value)  '<<<Minuscolo
Skippa:
Next
End Sub


Atri contributi sono ovviamente sempre utili.

Ciao a tutti,
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Excel scorciatoia x minuscole - maiuscole":


Chi c’è in linea

Visitano il forum: Nessuno e 45 ospiti