'----------------------
E' possibile impostare in una colonna il testo tutto in maiuscolo
cioè anche se io scrivo in minuscolo vorrei che testo sia riportato tutto in
maiuscolo ma solo su una determinata colonna
'----------------------
Prova:
'=============>>
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim rCell As Range
Const myCol As String = "A" '<<=== da CAMBIARE
Set rng = Intersect(Target, Columns(myCol))
If Not rng Is Nothing Then
On Error GoTo XIT
Application.EnableEvents = False
For Each rCell In rng.Cells
With rCell
.Value = UCase(.Formula)
End With
Next rCell
End If
XIT:
Application.EnableEvents = True
End Sub
'<<=============
Si tratta di una routine d'evento Change del foglio.
Per utilizzarla, con il tasto destro del mouse fai click sulla
linguetta del foglio, scegli "Visualizza codice" e nella finestra
del codice incollarci il codice.
Poi torni in Excel con Alt-F11.
Sostituisci A con la colonna di interesse.
---
Regards,
Norman
E se volessi convertire dei dati preesistenti in maiuscola, prova inoltre:
'=============>>
Public Sub TesterA()
Dim WB As Workbook
Dim SH As Worksheet
Dim rng As Range, rng1 As Range
Dim rcell As Range
Set WB = Workbooks("Pippo.xls") '<<=== da CAMBIARE
Set SH = WB.Sheets("Foglio1") '<<=== da CAMBIARE
Set rng = SH.Columns("A") '<<=== da CAMBIARE
On Error Resume Next
Set rng1 = rng.SpecialCells(xlCellTypeConstants)
On Error GoTo 0
If Not rng1 Is Nothing Then
On Error GoTo XIT
Application.ScreenUpdating = False
For Each rcell In rng1.Cells
With rcell
.Value = UCase(.Formula)
End With
Next rcell
End If
XIT:
Application.ScreenUpdating = True
End Sub
'<<=============
Per utilizzare questa macro:
Alt-F11 per aprire l'Editor di VBA
Menu | Inserisci | Modulo
Incollarci il suddeto codice
Alt-F11 per tornare in Excel
Alt-F8
Seleziona "ConvertToUpperCase"
Esegui
---
Regards,
Norman
> Grazie Norman ho provato e funziona benissimo, approfitto per altra
> domanda
> attinente, ...e se vorrei trasformare in maiuscolo del testo giŕ scritto?
> Grazie 1000
Avevo gia' pensato di questa domanda! Vedi la mia risposta successiva.
---
Regards,
Norman
> Public Sub TesterA()
Era inteso come:
Public Sub ConvertToUpperCase()
---
Regards,
Norman
"Norman Jones" ha scritto:
Grazie Norman gentilissimo e veloce come non mai
ci metto più io ad adattare e applicare macro che tu a crearle
grazie ancora e buona serata
Antonio
'-----------------------
Ho sostituito riga che mi hai detto nel tuo ultimo post
non ne capisco il significato (praticamente non capisco nulla di VB)
comunque avevo già testato con precedente e funzionava anche
prima
'-----------------------
Il nome di una macro è di poca importanza: ho suggerito che cambi la prima
riga - in effetti il nome della macro - soltanto per essere coerente con la
mia
istruzione:
>> Seleziona "ConvertToUpperCase"
Comunque, hai risolto!
Saluti!
---
Regards,
Norman
"Norman Jones" ha scritto:
>Grazie Norman era solo per capire la differenza, grazie del chiarimento
Ciao e buona giornata
Antonio