Buon giorno a tutti,
spero di aver aperto il post correttamente
Devo trasmettere dei form da far compilare mensilmente e vorrei che nelle colonne delle ore, gli utenti abbiano gli inserimenti blindati senza bloccare la possibilità di inserire righec colonne o la formattazione delle celle.
In pratica qualunque inserimento venga fatto deve essere riportato in forma oraria.
ho trovato e cercato di adattare questa routine che funziona benissimo quando vengono inseriti valori con il punto o con la virgola perché riporta il valore in formato orario, ma crea problemi quando viene inserito il formato corretto con i ":".
faccio un esempio:
13.15 riporta 13:15
13,15 riporta 13:15
13:15 riporta 00:55
la routine che utilizzo è la seguente:
Codice PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets(1).Activate
Columns("A:A").NumberFormat = "dd/mm/yyyy"
Columns("b:b").NumberFormat = "[h]:mm;@"
Columns("c:c").NumberFormat = "[h]:mm;@"
Columns("D:D").NumberFormat = "[h]:mm;@"
Application.EnableEvents = True
If Intersect(Target, Range("b2:c200")) Is Nothing Then Exit Sub
On Error Resume Next
Application.EnableEvents = False
Cells.Replace What:=".", Replacement:=",", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells(Target.Row, Target.Column) = Fix(Target.Value) / 24 + (Target.Value - Fix(Target.Value)) / 14.4
Cells(Target.Row, Target.Column).NumberFormat = "[hh]:mm;@"
Application.EnableEvents = True
End Sub
Potreste aiutarmi ? ho pochissime conoscenze di vba e questa procedura mi semplificherebbe di molto le mie attività
grazie