Cambiare la data quando modifico la cella

Anonimo
2010-05-20T10:58:17+00:00

Buondi',

ho un foglio di lavoro che utilizzo come listino prezzi x vari prodotti cosi' formato:

| Prodotto | Prezzo | DataAggiornamentoPrezzo |...

Ogni volta che cambio il prezzo di un prodotto, manualmente metto la data del giorno stesso in DataAggiornamentoPrezzo.

C'e un modo, formula o VBA, per fare la solita cosa in maniera automatica?

Io modifico il prezzo e automaticamente mi cambia la data in DataAggiornamentoPrezzo, si puo'?

Grazie 1000,

      Francesco ;-)

Microsoft 365 e Office | Excel | Per la casa | 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

Anonimo
2010-05-21T08:15:27+00:00

Esempio. Voglio aggiungere/modificare la data nella colonna C se modifico una cella nel range A1:A10. Questo il codice da inserire nel modulo di codice *DEL FOGLIO* dove ho i dati:

Private Sub Worksheet_Change(ByVal Target As Range)

    'dichiaro la variabile oggetto

    Dim rng As Range

    'metto un riferimento al range dove

    'effettuo le modifiche

    Set rng = Me.Range("A1:A10")

        'se modifico una cella del range specificato

        If Not Intersect(Target, rng) Is Nothing Then

            'modifico la data nella colomma C

            Target.Offset(0, 3).Value = Date

        End If

        'Set a Nothing della variabile oggetto

    Set rng = Nothing

End Sub


Mauro Gamberini - Microsoft© MVP(Excel)

http://www.maurogsc.eu/

La risposta è stata utile?

2 persone hanno trovato utile questa risposta.
0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2013-10-23T08:04:55+00:00

    Buona sera.

    Io ho la solita necessità di Francesco58 però cambiano i riferimenti di celle.

    Cioè quando cambio un valore (nel mio caso un prezzo) nell'intervallo di celle B2:B100 mi cambia la data nella cella al solito rigo ma alla colonna G.

    <cut>

    Grazie per la disponibilità.

    Questa la macro modificata, che, come ha spiegato Andrea va copia/incollata nel moduulo di codice del foglio dove vuoi questa cosa:

    Private Sub Worksheet_Change(ByVal Target As Range)

          'dichiaro la variabile oggetto

          Dim rng As Range

          'metto un riferimento al range dove

          'effettuo le modifiche

          Set rng = Me.Range("B2:B100")

              'se modifico una cella del range specificato

              If Not Intersect(Target, rng) Is Nothing Then

                  'modifico la data nella colomma G

                  Target.Offset(0, 5).Value = Date

              End If

              'Set a Nothing della variabile oggetto

          Set rng = Nothing

      End Sub

    Vedi anche qui:

    http://answers.microsoft.com/it-it/office/wiki/office_2013_release-excel/excel-dove-e-come-inserire-il-codice-visual-basic/ed29ee63-a537-4e5d-8631-76766cf40503

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2013-10-22T20:21:35+00:00

    Buona sera.

    Io ho la solita necessità di Francesco58 però cambiano i riferimenti di celle.

    Cioè quando cambio un valore (nel mio caso un prezzo) nell'intervallo di celle B2:B100 mi cambia la data nella cella al solito rigo ma alla colonna G.

    Esempio se in B5 scrivo € 15:30 in G5 scrive 22/10/13.

    Io ho copiato e incollato il codice da te scritto e da profano ho fatto le modifiche che credevo fossero necessari, ma il risultato non c'è, come mai?

    Il codice da me modificato è:

    Private Sub Worksheet_Change(ByVal Target As Range)

         'dichiaro la variabile oggetto

         Dim rng As Range

         'metto un riferimento al range dove

         'effettuo le modifiche

         Set rng = Me.Range("B2:B100")

             'se modifico una cella del range specificato

             If Not Intersect(Target, rng) Is Nothing Then

                 'modifico la data nella colomma C

                 Target.Offset(0, 6).Value = Date

             End If

             'Set a Nothing della variabile oggetto

         Set rng = Nothing

     End Sub

    Grazie per la disponibilità.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2010-05-21T10:14:46+00:00

    Grazie per il cortese riscontro.


    Mauro Gamberini - Microsoft© MVP(Excel)

    http://www.maurogsc.eu/

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2010-05-21T10:03:17+00:00

    Perfetto ...

    Grazie 1000,

           Francesco

    La risposta è stata utile?

    0 commenti Nessun commento