AfterUpdate() con Excel

Anonimo
2023-05-11T08:29:30+00:00

Buongiorno, con questo codice aggiorno il testo da minuscolo in maiuscolo facendo doppio click sulla cella:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    Const sIndLP As String = "B2:B403"

        If Not Intersect(Target, Me.Range(sIndLP)) Is Nothing Then

            Target = UCase(Target)

        End If

End Sub

Volendo invece, modificare il testo inserito non sul DoppioClick, ma dopo l'invio - in VBA Access utilizzo AfterUpdate() - come devo fare?

P.S. Utilizzo Windows 10 - Excel 2010 - per ora non dispongo del 365

Microsoft 365 Insider | Excel | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Paolo Lazzaroni 390 Punti di reputazione
2023-06-08T05:33:46+00:00

Buongiorno! Per modificare il testo di una cella dopo l'invio anziché dopo un doppio clic, puoi utilizzare l'evento Worksheet_Change invece di Worksheet_BeforeDoubleClick. Ecco come puoi adattare il codice:

Private Sub Worksheet_Change(ByVal Target As Range) 

    Const sIndLP As String = "B2:B403" 

    If Not Intersect(Target, Me.Range(sIndLP)) Is Nothing Then 

        Application.EnableEvents = False ' Disabilita gli eventi per evitare un loop infinito 

        Target.Value = UCase(Target.Value) ' Modifica il testo in maiuscolo 

        Application.EnableEvents = True ' Riabilita gli eventi 

    End If 

End Sub 

In questo modo, quando viene modificata una cella nell'intervallo specificato, l'evento Worksheet_Change viene attivato e il testo della cella viene modificato in maiuscolo. L'istruzione Application.EnableEvents è utilizzata per disabilitare temporaneamente gli eventi in modo da evitare un loop infinito quando si modifica la cella all'interno del gestore dell'evento stesso.

Assicurati di inserire questo codice nella sezione di codice del foglio di lavoro (Worksheet) in cui desideri applicare questa funzionalità. Puoi accedere a questa sezione di codice selezionando il foglio di lavoro appropriato nel Visual Basic Editor e selezionando l'evento Worksheet_Change dalla casella di riepilogo superiore a destra.

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

1 risposta aggiuntiva

Ordina per: Più utili
  1. Anonimo
    2023-06-08T06:30:21+00:00

    Mille grazie Paolo, era quello che volevo.

    La risposta è stata utile?

    0 commenti Nessun commento