continuo nella finalizzazione di alcuni files.
Punto 1: protezione cella con PW dopo immissione dati.
con questo script ottengo il risultato atteso ( identificare il giorno e ora in cui è stato immesso il dato):
- Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Set rng = Me.Range("D12:D4039")
With Target
If .Rows.Count = 1 Then
If Not Intersect(Target, rng) Is Nothing Then
.Offset(0, 7).Value = Now
.Offset(0, 7).NumberFormat = "dd/mm/yyyy hh:mm:ss"
'.Offset(0, 7).Protect Password:="123"
End If
End If
End With
Set rng = Nothing
End Sub
Ma vorrei che sia la cella della colonna D che quella della K dopo l'immissione fossero bloccate (con pw) da possibili cancellazioni o manomissioni.
Punto 2: evitare il copia e incolla dei dati
Sviluppato in questo modo:
- Codice: Seleziona tutto
Private Sub Workbook_Open()
With Application
.CellDragAndDrop = False
.ExtendList = False
End With
Application.CommandBars("Cell").Enabled = False
Application.OnKey "^x", "FoxMsg"
Application.OnKey "^c", "FoxMsg"
Application.OnKey "^v", "FoxMsg"
Dim Ctrl As Office.CommandBarControl
For Each Ctrl In Application.CommandBars.FindControls(ID:=19)
Ctrl.Enabled = False
Next Ctrl
For Each Ctrl In Application.CommandBars.FindControls(ID:=21)
Ctrl.Enabled = False
Next Ctrl
For Each Ctrl In Application.CommandBars.FindControls(ID:=22)
Ctrl.Enabled = False
Next Ctrl
End Sub
Ma questo non "blocca" l'utilizzo dei classici pulsanti presenti in barra. E' fattibile in qualche modo?
https://www.dropbox.com/s/8fwm8xqah5tleuv/ORD_FORUM%20v1%2B.xls?dl=0
Grazie per l'aiuto.