Problema con macro che inserisce data/ora . Help!

Anonimo
2021-09-27T16:27:46+00:00

Ho una macro che inserisce data/ora in colonna E , quando inserisco valore manualmente su cella in colonna B . Poi deve ripetere quando inserisco valore su cella in colonna H , su cella in colonna I.

Il mio problema è che il valore nella colonna H viene inserito tramite altra Macro e non manualmente , e non funziona .

Funziona solo se inserisco dati manualmente . Come devo modificare la seconda parte ? grazie

[code]Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rng As Range

Dim xOffsetColumn As Integer

Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target)

xOffsetColumn = 3

If Not WorkRng Is Nothing Then

Application.EnableEvents = False

For Each Rng In WorkRng     

If Not VBA.IsEmpty(Rng.Value) Then  

       Rng.Offset(0, xOffsetColumn).Value = Now      

   Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy, hh:mm"    

 Else       

  Rng.Offset(0, xOffsetColumn).ClearContents    

 End If   

Next

Application.EnableEvents = True

End If

Set WorkRng = Intersect(Application.ActiveSheet.Range("H:H"), Target)

xOffsetColumn = 1

If Not WorkRng Is Nothing Then

Application.EnableEvents = False

For Each Rng In WorkRng

    If Not VBA.IsEmpty(Rng.Value) Then    

     Rng.Offset(0, xOffsetColumn).Value = Now    

     Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy, hh:mm" 

    Else    

     Rng.Offset(0, xOffsetColumn).ClearContents   

  End If  

Next Application.EnableEvents = True

End If

End Sub [/code]

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

18 risposte

Ordina per: Più utili
  1. Anonimo
    2021-09-27T21:19:07+00:00

    comunque l'idea di usare la tabella pivot con pulsanti ,macro ,formule come gestionario è un pochino strana . In effetti ho riscontrato parecchie difficolta , ma per fortuna ho scoperto Microsoft answer e la vostra disponibilità . Grazie ma non è ancora finito :)))

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2021-09-27T21:15:20+00:00

    Ciao Franco,

    onestamente a me non intercetta la cella neanche levando

    Application.EnableEvents = True

    Application.EnableEvents = False

    anzi mi rende debug

    in

    Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target)

    cosa che non succede se lascio come l'originale

    Non succede con la versione originale perché, se gli eventi dell'applicazione sono disabilitati, il codice dell'evento non viene mai attivato dalla macro dell'OP.

    Tuttavia, se un intervallo di intersezione non fosse Nothing (ovvero non vi fosse alcuna intersezione), la riga del codice di debug genererebbe un errore. Questo è normalmente superato racchiudendo la riga di assegnazione dell'intersezione tra le istruzioni:

    **On Error Resume Next**
    

    e

    **On Error Resume Next**
    

    In ogni caso, il codice modificato nel mio file di testfunziona da me.

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2021-09-27T21:09:50+00:00

    La risposta è stata utile?

    0 commenti Nessun commento