Macro per celle selezionate
Hai un problema con Excel? 
Macro per celle selezionate
di Riccardo (utente non iscritto) data: 23/11/2008
Salve a tutti, desidero proporre un quesito che per alcuni sarà banale, tuttavia potrebbe essere utile a molti.
ho creato una semplice macro che genera il carattere alternativamente maiuscolo/minuscolo sul testo di una qualsiasi cella di un foglio di excel. cioè, col mouse su una cella qualsiasi che contiene del testo, battendo ctrl-m ottengo la variazione del carattere da maiuscolo a minuscolo o viceversa.
la mia domanda è: come è possibile, se è possibile, fare funzionare la macro su una selezione di diverse celle? ad esempio, io vorrei selezionare con il mouse l'intervallo "d3:g7" e poi lanciare la mia macro ed avere il risultato del cambio carattere (maiuscolo/minuscolo) per tutte le celle selezionate.
forse è già stato affrontato questo argomento, mi sapete indicare dove, per favore, oppure (meglio ancora) replicare la soluzione?
grazie a tutti gli interessati a questo argomento.
riccardo
Sub Maiu_minu() ' Scelta rapida da tastiera: Ctrl-m
'
With Selection
Valor$ = ActiveCell.Value
If Valor$ = UCase(Valor$) Then
ActiveCell.Value = LCase(Valor$)
Valor$ = ActiveCell.Value
Else
ActiveCell.Value = UCase(Valor$)
End If
End With
End Sub
|
di Baz (utente non iscritto) data: 24/11/2008
Ciao,
prova così....
Sub Maiu_minu2()
Set area = Range("d3:g7")
For Each cl In area
If cl.Value <> "" Then
If cl.Value = UCase(cl.Value) Then
cl.Value = LCase(cl.Value)
Else
cl.Value = UCase(cl.Value)
End If
End If
Next
End Sub |
di Riccardo (utente non iscritto) data: 24/11/2008
Grazie baz, è perfetto il suggerimento che mi hai dato. ma, a beneficio di tutti gli interessati, desidero precisare che ho avuto un suggerimento ancora più generale che funziona con qualsiasi selezione del mouse ed è la seguente soluzione
dim cella as range
for each cella in selection
........... segue il codice della macro
next ...
grazie ancora
riccardo
Vuoi Approfondire?