Condividi:        

Eseguire una macro al variare di un valore in una colonna

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: Eseguire una macro al variare di un valore in una colonn

Postdi erika_i » 16/06/15 14:25

Ciao Anthony e grazie per la pazienza...
di seguito il file che sto utilizzando:

https://www.wetransfer.com/downloads/3c5636bd0f097ac6456be1e7536f390320150616131822/e787bad051d37e41d5942c671cc1895b20150616131822/3ce063

grazie ancora.
erika_i
Utente Junior
 
Post: 12
Iscritto il: 03/06/15 08:55

Sponsor
 

Re: Eseguire una macro al variare di un valore in una colonn

Postdi Anthony47 » 16/06/15 21:42

Ah aha...
Quindi tu metti a mano una password; poi avvii una macro che non conosce la password e ti chiedi come mai la password la devi inserire a mano?
Per proteggere e sproteggere con password, devi modificare la riga
ActiveSheet.Unprotect
In
ActiveSheet.Unprotect Password:="pippo"

E analogamente la protezione sara' fatta con
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="pippo"

"pippo" ovviamente e' a libera scelta.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Eseguire una macro al variare di un valore in una colonn

Postdi erika_i » 22/06/15 15:00

ahahahaha sì sì facevo proprio così.
te l'ho detto che sono imbranata...
grazie 1000 comunque!!! ora ovviamente funziona.
erika_i
Utente Junior
 
Post: 12
Iscritto il: 03/06/15 08:55

Re: Eseguire una macro al variare di un valore in una colonn

Postdi Omocaig » 23/06/15 16:57

Ciao, ho rielaborato la prima macro che ha postato Anthony e la riporto nel caso in cui fosse necessaria a chi volesse compilare più intervalli come da esempio:

In B13:B10000 inserisco il nominativo e nella colonna A ottengo la Data
In L13:P10000 inserisco il Valore e nella colonna S ottengo la Data

Il tutto senza blocchi e da inserire direttamente nel foglio in cui stai operando, In Visual Basic Editor nella cartella Microsoft Excel Oggetti.

Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As range)
Dim KeyCells As range
Set KeyCells = range("L13:P10000")
If Not Application.Intersect(KeyCells, range(Target.Address)) Is Nothing _
    And Cells(Target.Row, "S") = "" And IsNumeric(Target.Value) Then
    ActiveSheet.Unprotect
    With Cells(Target.Row, "S")
        .Value = Int(Now)
        .Locked = False
    End With
    ActiveSheet.Protect DrawingObjects:=False, Contents:=False, Scenarios:=False
End If
Set KeyCells = range("B13:B10000")
If Not Application.Intersect(KeyCells, range(Target.Address)) Is Nothing _
    And Cells(Target.Row, "A") = "" Then
    ActiveSheet.Unprotect
    With Cells(Target.Row, "A")
        .Value = Int(Now)
        .Locked = False
      End With
    ActiveSheet.Protect DrawingObjects:=False, Contents:=False, Scenarios:=False
End If



Ciao a tutti
Xp + Office 2016 Ita
Omocaig
Utente Junior
 
Post: 93
Iscritto il: 11/05/15 15:08

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "Eseguire una macro al variare di un valore in una colonna":

BTp Valore
Autore: MarioLombardi
Forum: Forum off-topic
Risposte: 2

Chi c’è in linea

Visitano il forum: Nessuno e 34 ospiti