Venerdì, 10 agosto 2018
  0 Risposte
  2.5K visite
0
voti
Disfare
Ciao a tutti, il codice funziona bene ma non funziona quando il foglio di lavoro è protetto. anche se non ho protetto la colonna, la colonna specifica per il timestamp è. allego il messaggio di errore pop up. per favore aiutaci [allegato][/allegato] [allegato][/allegato]


Private Sub Worksheet_Change (ByVal Target As Range)
Chiama Micro1(Target)
Chiama Micro2(Target)
Chiama Micro3(Target)
End Sub

Private Sub Micro1 (Obiettivo ByVal come intervallo)
Se Target.Column = 1 Then
Target.Offset(0, 1).Seleziona
ElseIf Target.Column = 2 Allora
Target.Offset(1, -1).Seleziona
End If
End Sub

Private Sub Micro2 (Obiettivo ByVal come intervallo)
'Aggiornamento 20140722
Dim WorkRng come intervallo
Dim Rng come intervallo
Dim xOffsetColumn come intero
Set WorkRng = Intersect(Application.ActiveSheet.Range("A:A"), Target)
xColonnaOffset = 2
Se non funziona non è niente allora
Application.EnableEvents = False
Per ogni Rng In WorkRng
Se non VBA.IsEmpty(Rng.Value), allora
Rng.Offset(0, 2).Valore = Ora
Rng.Offset(0, 2).NumberFormat = "gg-mm-aaaa, hh:mm:ss"
Altro
Rng.Offset(0, 2).ClearContents
End If
Avanti
Application.EnableEvents = True
End If
End Sub

Private Sub Micro3 (Obiettivo ByVal come intervallo)
'Aggiornamento 20140722
Dim WorkRng come intervallo
Dim Rng come intervallo
Dim xOffsetColumn come intero
Set WorkRng = Intersect(Application.ActiveSheet.Range("H:H"), Target)
xColonnaOffset = 6
Se non funziona non è niente allora
Application.EnableEvents = False
Per ogni Rng In WorkRng
Se non VBA.IsEmpty(Rng.Value), allora
Rng.Offset(0, 2).Valore = Ora
Rng.Offset(0, 2).NumberFormat = "gg-mm-aaaa, hh:mm:ss"
Altro
Rng.Offset(0, 2).ClearContents
End If
Avanti
Application.EnableEvents = True
End If
End Sub
Non ci sono ancora risposte per questo post.