I figli d'arte sono all'altezza dei genitori? Vieni a parlarne su Award & Oscar.
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Come inserire commenti automatici

Ultimo Aggiornamento: 11/05/2016 17:44
Post: 23
Registrato il: 18/04/2016
Città: SANT'OMERO
Età: 30
Utente Junior
excel 2010
OFFLINE
20/04/2016 19:29

Salve ho un problema da risolvere! Data una tabella come quella che vi allego nel messaggio, come è possibile creare dei commenti associati a una determinata cella in modo automatico? [SM=x423017]
[Modificato da memory94 20/04/2016 19:30]
Post: 385
Registrato il: 06/04/2013
Utente Senior
2010
OFFLINE
20/04/2016 19:36

Ciao
hai provato con il registratore di macro?

saluti
Domenico
Win 10 - Excel 2016
Post: 23
Registrato il: 18/04/2016
Città: SANT'OMERO
Età: 30
Utente Junior
excel 2010
OFFLINE
20/04/2016 22:00

Ci avevo pensato.. ma dato che ho quasi 100 persone, in tal modo risulterebbe troppo lunga come operazione. E' possibile utilizzare una funzione o un processo iterativo che faccia tutto automaticamente?
Post: 386
Registrato il: 06/04/2013
Utente Senior
2010
OFFLINE
21/04/2016 16:45

Ciao
con il registratore di macro ottieni "una guida" di come viene inserito un commento in una cella; sta poi a te inserire tali istruzioni in un loop che agisce sulle celle volute, siano esse 10 o 100.

Ti riporto un esempio, ma sta di fatto che la tua descrizione delle necessità è veramente scarna. Non credo che il commento sia uguale per tutti, pertanto descrivi bene la necessità o adatta l'esempio che riporta nelle celle da A1 a A10 un commento fisso:

for i=1 to 10
cells(i,1).addcomment "pippo"
next i

saluti
Domenico
Win 10 - Excel 2016
Post: 24
Registrato il: 18/04/2016
Città: SANT'OMERO
Età: 30
Utente Junior
excel 2010
OFFLINE
22/04/2016 18:45

Allora provo a spiegare meglio la mia necessità..
Vorremmo ottenere dei commenti nelle celle evidenziate (come nell'esempio del file allegato) in maniera automatica; i commenti, per ogni cella, sono diversi ma vanno a caratterizzare le stesse voci (nell'esempio allegato sarebbero NOME, COGNOME, NUMERO).
Spero di essere stata più chiara... [SM=g27817]
Post: 391
Registrato il: 06/04/2013
Utente Senior
2010
OFFLINE
22/04/2016 19:43

Ciao
attenendomi al tuo esempio, vedi l'allegato

saluti
Domenico
Win 10 - Excel 2016
Post: 25
Registrato il: 18/04/2016
Città: SANT'OMERO
Età: 30
Utente Junior
excel 2010
OFFLINE
22/04/2016 22:35

Si grazie! Potresti spiegarmi quali sono stati i passaggi fatti? [SM=x423017]
Post: 392
Registrato il: 06/04/2013
Utente Senior
2010
OFFLINE
23/04/2016 09:54

Ciao
ma leggere la macro che mi sembra alquanto banale?

comunque ho aggiunto i commenti alla macro:
Sub InsComment()
'Ultima riga tabella
ur = Range("A" & Rows.Count).End(xlUp).Row
'intestazioni tabella
t1 = UCase(Range("A1")) & ": "
t2 = UCase(Range("B1")) & ": "
t3 = UCase(Range("C1")) & ": "
'colonna destinazione commenti
c = 7
'ciclo lettura commenti
For r = 2 To ur
    'assegnazione a variabili dei dati di riga
    tt1 = Cells(r, 1)
    tt2 = Cells(r, 2)
    tt3 = Cells(r, 3)
    'cancellazione eventuale commento precedente
    Cells(r, c).ClearComments
    'inserimento del commento
    Cells(r, c).AddComment t1 & tt1 & Chr$(10) & t2 & tt2 & Chr$(10) & t3 & tt3
    ' rende non visibile il commento finchè non si seleziona la relativa cella
    Cells(r, c).Comment.Visible = False
Next
End Sub

saluti
[Modificato da dodo47 23/04/2016 10:02]
Domenico
Win 10 - Excel 2016
Post: 26
Registrato il: 18/04/2016
Città: SANT'OMERO
Età: 30
Utente Junior
excel 2010
OFFLINE
25/04/2016 15:36

Grazie Dodo, sempre gentilissimo ! E' proprio quello che stavo cercando [SM=x423017] [SM=x423017]
Post: 31
Registrato il: 18/04/2016
Città: SANT'OMERO
Età: 30
Utente Junior
excel 2010
OFFLINE
25/04/2016 17:50

Ciao Dodo scusa.. i commenti mi servirebbero inseriti in un foglio diverso da quello in cui è presente la tabella con i relativi dati, anzichè nello stesso foglio di lavoro.. Come si può modificare il codice che ci hai precedentemente inviato? Magari inserendo un riferimento a quel determinato foglio [SM=g27833]
[SM=x423017]
Post: 581
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Senior
365
OFFLINE
25/04/2016 20:13

Ciao

foglio1

messo pulsante per eliminare i commenti
solo se in colonna a ci sono celle scritte
( se hai 100 commenti e 50 celle scritte perchè hai variato i dati ti cancella solo i primi 50 cpmmenti)


foglio2

pulsante che attiva i commenti ( delle celle in foglio1)
e li mette in colonna B
pulsante che cancella 200 commenti senza riferimenti all'ultima cella scritta e posiziona il focus in A1

foglio3

macro che si attiva al change

scrivi qualcosa sul foglio e vedi

no in colonna B ci vanno i commenti

tutto per didattica [SM=g27835] [SM=g27835]

complimenti a Dodo
[Modificato da federico460 25/04/2016 20:14]
Post: 33
Registrato il: 18/04/2016
Città: SANT'OMERO
Età: 30
Utente Junior
excel 2010
OFFLINE
26/04/2016 11:02

Si Federico grazie, ci servirebbe una cosa simile... E' possibile ottenere un'unica macro che automaticamente mi metta i commenti solamente nel secondo foglio? [SM=x423017]
Post: 397
Registrato il: 06/04/2013
Utente Senior
2010
OFFLINE
26/04/2016 11:42

Ciao
questa è la routine del mio file modificata per far inserire i commenti del foglio1 nel foglio2, sempre in colonna g:

Sub InsComment()
'Ultima riga tabella
ur = Range("A" & Rows.Count).End(xlUp).Row
'intestazioni tabella
t1 = UCase(Range("A1")) & ": "
t2 = UCase(Range("B1")) & ": "
t3 = UCase(Range("C1")) & ": "
'colonna destinazione commenti
c = 7
'foglio destinazione commenti
Set wks = Sheets("Foglio2")
'ciclo lettura commenti
For r = 2 To ur
    'assegnazione a variabili dei dati di riga
    tt1 = Cells(r, 1)
    tt2 = Cells(r, 2)
    tt3 = Cells(r, 3)
    'cancellazione eventuale commento precedente
    wks.Cells(r, c).ClearComments
    'inserimento del commento
    wks.Cells(r, c).AddComment t1 & tt1 & Chr$(10) & t2 & tt2 & Chr$(10) & t3 & tt3
    ' rende non visibile il commento finchè non si seleziona la relativa cella
    wks.Cells(r, c).Comment.Visible = False
Next
End Sub

saluti
Domenico
Win 10 - Excel 2016
Post: 37
Registrato il: 18/04/2016
Città: SANT'OMERO
Età: 30
Utente Junior
excel 2010
OFFLINE
30/04/2016 14:38

Grazie Dodo! E' proprio ciò che mi serve!
[SM=x423017]
Post: 38
Registrato il: 18/04/2016
Città: SANT'OMERO
Età: 30
Utente Junior
excel 2010
OFFLINE
07/05/2016 21:58

Ciao Dodo47, mi è appena sorto un nuovo problema... Dovrei usare il programma che mi hai scritto qui sopra, prendendo i dati da due fogli excel, cioè: i dati ce li ho in due fogli (foglio1 e foglio2) e nel foglio3 voglio ottenere i commenti.
Ho pensato di aggiungere una nuova riga "Set wks = Sheets("foglio2") " però poi, nell'assegnazione a variabili dei dati di riga, ho visto che tale procedura non va bene... Come potrei modificare i tuo programma?
Grazie in anticipo [SM=x423017]
Post: 244
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Junior
Excel 2016-32bit Win11
OFFLINE
07/05/2016 23:25

Devi operare su questa parte della macro:
'foglio destinazione commenti
Set wks = Sheets("Foglio2")
'ciclo lettura commenti
For r = 2 To ur
    'assegnazione a variabili dei dati di riga
    tt1 = Cells(r, 1)
    tt2 = Cells(r, 2)
    tt3 = Cells(r, 3)
che diventa qualcosa così:
'foglio destinazione commenti
Set wks = Sheets("Foglio3")
'ciclo lettura commenti
For r = 2 To ur
    'assegnazione a variabili dei dati di riga
    tt1 = Sheets("Foglio2").Cells(r, 1)
    tt2 = Sheets("Foglio1").Cells(r, 2)
    tt3 = Sheets("Foglio2").Cells(r, 3)
e magari cambiare il modo di assegnazione delle variabili se il caso lo richiede.
[Modificato da rollis13 07/05/2016 23:25]

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 39
Registrato il: 18/04/2016
Città: SANT'OMERO
Età: 30
Utente Junior
excel 2010
OFFLINE
08/05/2016 00:39

Sì esatto Rollis, potrebbe essere una cosa del genere! Grazie! Però ho non mi funziona lo stesso.. I commenti del foglio1 sono presenti, nella forma "INTESTAZIONE: commento" , invece per il foglio2 è solo presente "INTESTAZIONE: ", senza il commento..
Quale può essere il motivo?
[Modificato da memory94 08/05/2016 00:39]
Post: 245
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Junior
Excel 2016-32bit Win11
OFFLINE
08/05/2016 09:12

Semplicemente perché non hai popolato le celle che hai deciso quale fonte del dato. Nell'esempio, visto che non hai allegato nemmeno un traccia, ho indicato che 2 dati li prende dal Foglio2 ed uno dal Foglio1. Nei fogli ci devono essere dati nelle quantomeno nelle celle della zona che va da A2 a C3 (o altre celle da te scelte), ovvero, quelle che fanno riferimento a queste righe della macro (che puoi sempre modificare):
    'assegnazione a variabili dei dati di riga
    tt1 = Sheets("Foglio2").Cells(r, 1)
    tt2 = Sheets("Foglio1").Cells(r, 2)
    tt3 = Sheets("Foglio2").Cells(r, 3)
[Modificato da rollis13 08/05/2016 09:14]

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 40
Registrato il: 18/04/2016
Città: SANT'OMERO
Età: 30
Utente Junior
excel 2010
OFFLINE
09/05/2016 12:29

Si si ho risolto, grazie! Avevo fatto tutto bene solamente che i commenti mi si vedevano nella forma
NOME:Alfa
COGNOME:Beta
ETA':30
DETTAGLI:

cioè l'ultima voce non compariva e quindi credevo di aver sbagliato il codice. Poi mi è venuto in mente che magari il riquadro del commento fosse troppo piccolo, infatti andando ad ingrandire tale "nuvoletta" ho visto che nella riga sotto a "DETTAGLI" mi compariva la voce. Quindi ho ingrandito le varie nuvolette una alla volta. Però ciò è molto dispendioso di tempo, dato che ho più di 100 commenti, ed ingrandirli uno ad uno sarebbe un'ammazzata.

C'è un modo per selezionarli tutti ed ingrandirli tutti insieme con pochi click??
[SM=x423017]
Post: 247
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Junior
Excel 2016-32bit Win11
OFFLINE
09/05/2016 22:28

Subito dopo la riga con .AddComment aggiungi questa altra che provvederà all'autodimensionamento della casella di testo che contiene il commento (prendo come riferimento il lavoro di dodo47 al post #13):
wks.Cells(r, c).Comment.Shape.TextFrame.AutoSize = True
[Modificato da rollis13 09/05/2016 22:30]

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 42
Registrato il: 18/04/2016
Città: SANT'OMERO
Età: 30
Utente Junior
excel 2010
OFFLINE
10/05/2016 14:18

Ho provato ad aggiungere questa riga, ma mi segnala un "errore di run-time 424"... Come mai?
Post: 249
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Junior
Excel 2016-32bit Win11
OFFLINE
10/05/2016 18:39

Come ho già detto, la riga di script si sposa correttamente con il lavoro di dodo47 nel post #13. Forse è il caso che tu alleghi l'attuale situazione con tutte le modifiche che hai applicato dopo tale post.

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 43
Registrato il: 18/04/2016
Città: SANT'OMERO
Età: 30
Utente Junior
excel 2010
OFFLINE
10/05/2016 22:50

Si infatti l'ho provato li in quel file in cui fa riferimento il codice di Dodo47 numero 13.. ma mi da errore.. Comunque ti allego il file cosi puoi vedere anche tu come mai... Proprio non capisco! [SM=g27813] [SM=g27833] [SM=x423017]
Post: 44
Registrato il: 18/04/2016
Città: SANT'OMERO
Età: 30
Utente Junior
excel 2010
OFFLINE
10/05/2016 23:02

Scusami non capisco perchè ma ora non riesco ad allegare nessun file.. Non capisco.. Domani riproverò!!
Post: 252
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Junior
Excel 2016-32bit Win11
OFFLINE
10/05/2016 23:41

Ora hai un file esempio con le macro e pertanto lo devi zippare prima di allegarlo.

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 45
Registrato il: 18/04/2016
Città: SANT'OMERO
Età: 30
Utente Junior
excel 2010
OFFLINE
11/05/2016 10:02

Post: 46
Registrato il: 18/04/2016
Città: SANT'OMERO
Età: 30
Utente Junior
excel 2010
OFFLINE
11/05/2016 10:52

Scusami, avevo sbagliato a posizionare la riga.. Non l'avevo messa dopo l'addcomment !
Funziona alla perfezione!
Grazie mille Rollis13, sei grande!!
[SM=x423017] [SM=x423017]
Post: 48
Registrato il: 18/04/2016
Città: SANT'OMERO
Età: 30
Utente Junior
excel 2010
OFFLINE
11/05/2016 11:38

Un'altra piccola richiesta... E' possibile modificare il codice di dodo47 numero13 in modo da ottenere i commenti nel foglio2 a partire dalla prima riga?
Allego un file magari..
Come potete vedere, i dati in tabella iniziano dalla riga 5 e quindi i commenti nel foglio2 sono presenti dalla riga 5; è possibile in qualche modo ottenere i commenti a partire dalla riga 1 del foglio2??
Post: 423
Registrato il: 06/04/2013
Utente Senior
2010
OFFLINE
11/05/2016 14:02

Ciao
basta utilizzare una variabile diversa per la scrittura, nel caso ho utilizzato r1.

Modifica tutta la parte di codice a partire dalla riga commentata:

'ciclo lettura commenti

fino alla fine con:

...
...
'ciclo lettura commenti
r1 = 1
For r = 5 To ur
    'assegnazione a variabili dei dati di riga
    tt1 = Cells(r, 1)
    tt2 = Cells(r, 2)
    tt3 = Cells(r, 3)
    'cancellazione eventuale commento precedente
    wks.Cells(r1, c).ClearComments
    'inserimento del commento
    wks.Cells(r1, c).AddComment t1 & tt1 & Chr$(10) & t2 & tt2 & Chr$(10) & t3 & tt3
    wks.Cells(r1, c).Comment.Shape.TextFrame.AutoSize = True
    ' rende non visibile il commento finchè non si seleziona la relativa cella
    wks.Cells(r1, c).Comment.Visible = False
    r1 = r1 + 1
Next
End Sub


saluti
Domenico
Win 10 - Excel 2016
Post: 49
Registrato il: 18/04/2016
Città: SANT'OMERO
Età: 30
Utente Junior
excel 2010
OFFLINE
11/05/2016 17:44

Risolto!!!
Grande Dodo47!! Funziona alla perfezione
[SM=x423017] [SM=x423017] [SM=x423017] [SM=x423017]
Vota: 155,00330 3
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 03:47. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com