Condividi:        

Inserire commento su cella attiva con macro

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

Inserire commento su cella attiva con macro

Postdi lone wolf » 15/05/23 13:14

Salve e buon giorno, avrei la necessità di creare una macro per l’inserimento di un commento sulla cella attiva e dopo aver inserito il commento facendo clic su un’altra cella qualsiasi si nasconda la finestra del commento, ho provato a realizzarla con la registrazione macro ma non è come mi serve, spero sia possibile realizzarla, ringrazio in anticipo e una buona giornata a tutti.
lone wolf
Utente Senior
 
Post: 108
Iscritto il: 23/05/15 14:59

Sponsor
 

Re: Inserire commento su cella attiva con macro

Postdi Marius44 » 15/05/23 20:12

Ciao
Alcune precisazioni non guasterebbero:
a) dove si trova il commento da inserire nella cella? E' in un'altra cella? E' in un altro commento?
b) File -> Opzioni -> Impostazioni avanzate -> Visualizzazioni seleziona Solo indicatori, Commenti al passaggio del mouse

Non sarebbe inutile allegare un esempio.
Ciao,
Mario
Marius44
Utente Senior
 
Post: 658
Iscritto il: 07/09/15 22:00

Re: Inserire commento su cella attiva con macro

Postdi lone wolf » 15/05/23 20:55

Buona sera, Mario innanzitutto grazie per l’aiuto, cercherò di spiegare meglio: ho un file con 12 fogli uno per mese dove ho inserito una griglia, nella colonna A i nomi del personale e nelle colonne da B ad AF i giorni del mese, in pratica quando un dipendente prende dei giorni di ferie per esempio dal 02 al 05 gennaio nelle relative celle vado ad inserire dall’elenco a discesa la relativa sigla ossia “CO” e così via, la richiesta cartacea delle ferie va inviata in direzione per email assieme ad altre richieste in unico file, file che viene poi rinominato in “Richieste ferie e varie del “+data” spesso però accade che nella busta non viene riscontrato il periodo di ferie o permesso che sia, bisogna quindi andare a cercare la domanda inviata per dimostrare che sia stata inviata in data….., quindi inserendo nella cella del 02 gennaio commento con la data di invio facilita la ricerca del file con la richiesta inviata, altrimenti dovrei aprire tutti i file di “ferie e varie” inviate precedentemente fino a trovare quello giusto, con la macro e assegnando i tasti di scelta rapida per l’attivazione mi velocizzerebbe l’operazione. Spero di aver spiegato in modo abbastanza comprensibile, grazie ancora per l’aiuto e una buona serata a tutti.
Il link del file:
https://www.dropbox.com/scl/fi/r6xxj3ta ... 93ocp4x0es
lone wolf
Utente Senior
 
Post: 108
Iscritto il: 23/05/15 14:59

Re: Inserire commento su cella attiva con macro

Postdi Marius44 » 16/05/23 08:32

Ciao
Ovviamente occorre, a mio parere, VBA.
Inserisci questo codice in ogni Foglio-Mese
Codice: Seleziona tutto
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Call Commento
End Sub

In un Modulo standard inserisci questo codice
Codice: Seleziona tutto
Option Explicit

Sub Commento()
    ActiveCell.AddComment
    ActiveCell.Comment.Visible = False
    ActiveCell.Comment.Text Text:="inviata: " & Now()
    Range("A1").Select
End Sub


Il Doppio-Click nella cella inserirà la data e l'ora di inserimento.
Fai sapere. Ciao,
Mario
Marius44
Utente Senior
 
Post: 658
Iscritto il: 07/09/15 22:00

Re: Inserire commento su cella attiva con macro

Postdi lone wolf » 16/05/23 10:29

Buon giorno a tutti, Mario ho fatto come hai suggerito e sul primo foglio (Gennaio) funziona alla grande, invece sugli altri fogli si vede soltanto la "rotellina" girare e niente più, forse ho capito male e dovrei inserire un modulo per ogni foglio? grazie ancora per l'aiuto e buona giornata a tutti
lone wolf
Utente Senior
 
Post: 108
Iscritto il: 23/05/15 14:59

Re: Inserire commento su cella attiva con macro

Postdi Ricky0185 » 16/05/23 13:30

Marius ore 7.32
nserisci questo codice in ogni Foglio-Mese

Ricky0185
Utente Senior
 
Post: 303
Iscritto il: 10/12/19 20:38

Re: Inserire commento su cella attiva con macro

Postdi lone wolf » 16/05/23 14:08

Buon pomeriggio, sicuramente sbaglio io a caricare i codici, comunque procedo così: tramite Scheda Sviluppo apro Visual Basic, si visualizza la lista dei fogli numerati e fra parentesi il nome del foglio (es: Foglio2 (Gen)), doppio clic su Foglio2 (Gen) e nella scheda che si apre incollo il codice:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Call Commento
End Sub
E così via per gli altri fogli-mese

Dopo vado su inserisci Modulo, e nella finestra che si apre incollo il codice:
Option Explicit
Sub Commento()
ActiveCell.AddComment
ActiveCell.Comment.Visible = False
ActiveCell.Comment.Text Text:="inviata: " & Now()
Range("A1").Select
End Sub
Chiudo Visual Basic, e provo il funzionamento. Grazie per l’aiuto e scusate ma non sono pratico di VBA, buon pomeriggio a tutti
lone wolf
Utente Senior
 
Post: 108
Iscritto il: 23/05/15 14:59

Re: Inserire commento su cella attiva con macro

Postdi Marius44 » 16/05/23 15:14

Ciao
Scusa il ritardo ma sono stato fuori

C'è un errore mio ed uno tuo.
Il mio: ho fatto il test solo col foglio gen e, per giunta, il codice non è completamente "corretto" (ho dimenticato una riga essenziale)
Il tuo: tutti gli altri fogli sono protetti mentre gennaio non lo è. Per funzionare i Fogli devono essere senza protezione

Correggi la macro da inserire nei vari Fogli-mese così
Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = False
Call Commento
End Sub


Fai sapere. Ciao,
Mario
Marius44
Utente Senior
 
Post: 658
Iscritto il: 07/09/15 22:00

Re: Inserire commento su cella attiva con macro

Postdi lone wolf » 16/05/23 15:52

Buona sera, grazie Mario adesso è perfetta, per quanto riguarda la protezione non si potrebbe aggiungere al codice “ActiveSheet.Unprotect” e “ActiveSheet.Protect” per evitare eventuali cancellazioni involontarie? Oppure tramite il proteggi foglio e spuntando le operazioni consentite “Modifica Oggetti” o “Modifica Scenari”? Altrimenti pazienza sproteggerò il foglio prima di fare degli inserimenti, Grazie ancora e buona serata a tutti
lone wolf
Utente Senior
 
Post: 108
Iscritto il: 23/05/15 14:59

Re: Inserire commento su cella attiva con macro

Postdi Marius44 » 16/05/23 16:16

Ciao
Aggiungi nel codice sul Modulo standard ActiveSheet.Unprotect all'inizio e ActiveSheet.Protect alla fine badando, però, di inserire la o le passwords corrette.
Prova così impari. Se hai difficoltà, siamo qui.

Ciao,
Mario
Marius44
Utente Senior
 
Post: 658
Iscritto il: 07/09/15 22:00

Re: Inserire commento su cella attiva con macro

Postdi lone wolf » 16/05/23 16:46

Grazie per la gentilezza e la disponibilità, ho provato così:
Sub Commento()
ActiveSheet.Unprotect “pippo12”
ActiveCell.AddComment
ActiveCell.Comment.Visible = False
ActiveCell.Comment.Text Text:="inviata: " & Now()
Range("A1").Select
ActiveSheet.Unprotect “pippo12”
End Sub
Premesso che ho protetto solo un paio di fogli, ma nei fogli protetti si vede solo la classica rotellina che gira, in quelli sprotetti invece il codice funziona, dove sbaglio?
lone wolf
Utente Senior
 
Post: 108
Iscritto il: 23/05/15 14:59

Re: Inserire commento su cella attiva con macro

Postdi Marius44 » 16/05/23 18:35

Ciao
Dicevo:
Marius44 ha scritto:Per funzionare i Fogli devono essere senza protezione



Però come hai fatto tu dovrebbe funzionare SE ALLA RIMETTI LA PROTEZIONE.

Ciao,
Mario
Marius44
Utente Senior
 
Post: 658
Iscritto il: 07/09/15 22:00

Re: Inserire commento su cella attiva con macro

Postdi lone wolf » 16/05/23 20:29

Buona sera, ok Mario grazie per l'aiuto, la gentilezza e la disponibilità ricevuta, una buona serata e.... alla prossima
lone wolf
Utente Senior
 
Post: 108
Iscritto il: 23/05/15 14:59

Re: Inserire commento su cella attiva con macro

Postdi Anthony47 » 16/05/23 20:59

Scusate il ritardo, pero' si potrebbe usare l'evento DoubleClick a livello di workbook, inserendo il richiamo della Sub Commento una sola volta all'interno del modulo QuestaCartellaDiLavoro:
Codice: Seleziona tutto
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Cancel = False
Call Commento
End Sub

Buona serata a tutti
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Inserire commento su cella attiva con macro

Postdi lone wolf » 16/05/23 21:55

Buona sera, grazie anche a te Anthony per il tuo intervento, se ho capito bene dovrei inserire il tuo codice nel modulo “QuestaCartellaDiLavoro” e mantenere in ogni Foglio-mese il codice:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Call Commento
End Sub
Come suggerito da Mario, giusto?
lone wolf
Utente Senior
 
Post: 108
Iscritto il: 23/05/15 14:59

Re: Inserire commento su cella attiva con macro

Postdi Anthony47 » 16/05/23 22:11

No, va solo in QuestaCartellaDiLavoro e agisce su tutti i fogli; va mantenuta la Sub Commenti.

Pero' ho poi visto che ci sono fogli su cui il DoppioClick dovrebbe essere ignorato; per questo motivo bisognerebbe ampliare il codice come segue:
Codice: Seleziona tutto
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If IsError(Application.Match(Sh.Name, Array("Dati", "Riepilogo", "Foglio1"), False)) Then
    Cancel = True      '***
    Call Commento
End If
End Sub

*** Nota che nel codice precedente avevo scritto erroneammente Cancel = False

Ovviamente vale per la prossima volta, perche' non ha senso ora andare a togliere 12 Sub (lavoro gia' fatto) per inserirne 1 sola...
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Inserire commento su cella attiva con macro

Postdi lone wolf » 17/05/23 07:45

Buon giorno, certo Anthony sono d’accordo con te che non ha senso smantellare un lavoro già fatto però vorrei approfondire anche questa “variante” anche per capire un po’ meglio, ed ho provato la tua soluzione su una copia del file e va bene anche il tuo codice rd ho provato ad inserire anche nel codice che va in Questacartelladilavoro la protezione e sprotezione del foglio ad inizio e fine codice ma non funzione perché? Forse con questo codice non è possibile proteggere e sproteggere? Grazie e buona giornata a tutti
lone wolf
Utente Senior
 
Post: 108
Iscritto il: 23/05/15 14:59

Re: Inserire commento su cella attiva con macro

Postdi Anthony47 » 17/05/23 10:33

Per sproteggere /proteggere dalla Workbook_SheetBeforeDoubleClick:
Codice: Seleziona tutto
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If IsError(Application.Match(Sh.Name, Array("Dati", "Riepilogo", "Foglio1"), False)) Then
    Sh.Unprotect "pippo12"
    Cancel = True
    Call Commento
    Sh.Protect "pippo12"
End If
End Sub

Prova...
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Inserire commento su cella attiva con macro

Postdi lone wolf » 17/05/23 12:29

Buongiorno, il codice con sproteggi/proteggi funziona solo una volta, nel senso che al primo doppio clic su una cella funziona correttamente ma al doppio clic su un’altra cella non sprotegge più e si vede solo la rotellina girare
lone wolf
Utente Senior
 
Post: 108
Iscritto il: 23/05/15 14:59

Re: Inserire commento su cella attiva con macro

Postdi Anthony47 » 17/05/23 14:06

Rileggendo la discussione mi pare che il problema ci fosse anche con la soluzione dei tanti BeforeDoubleClick inseriti in ogni "modulo-foglio", ma non ho capito come e' stato risolto.
La mia proposta:
invece del DoubleClick usa l'evento RightClick: rimuovi il codice dell'evento Workbook_SheetBeforeDoubleClick e inserisci (sempre in QuestaCartellaDiLavoro):
Codice: Seleziona tutto
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If IsError(Application.Match(Sh.Name, Array("Dati", "Riepilogo", "Foglio1"), False)) Then
    Sh.Unprotect "pippo12"
    Cancel = True
    Call Commento
    Sh.Protect "pippo12"
End If
End Sub

Poi ovviamente userai il "click tasto destro" sulla cella che interessa
Fai sapere...
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Inserire commento su cella attiva con macro":


Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti