Condividi:        

commento automatico

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

commento automatico

Postdi raimea » 01/08/12 21:13

buona sera
in un file ho una serie di numeri dove ogni numero corrisponde ad un nome.
vorrei poter far apparire il nome relativo quando premo, o passo sopra la casella con il mouse,
proprio come accade con i commenti automatici.

la tabella con i numeri va da F5:DB30 , ( non e' ancora completamente compilata)
la corrispondenza numero--> nome e' in F70:F170

provo ad allegare il file.
https://rapidshare.com/files/928116067/turni.ptatn.settm-gen.13.rainer_v13.copia1.rar

grazie ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Sponsor
 

Re: commento automatico

Postdi Anthony47 » 01/08/12 21:46

Con una macro di questo tipo metti un commento in ogni cella:
Codice: Seleziona tutto
Sub SettaComm()
'
myArea = "F5:AJ32" '<< La tua area
'
For Each Cella In Range(myArea)
    With Cella
        .ClearComments
        If Cella.Value <> 0 Then
            .Select
            .AddComment
            .Comment.Visible = False
            .Comment.Text Text:="Di turno:" & Chr(10) & Range("G70").Offset(Cella.Value - 1, 0).Value
        End If
    End With
Next Cella
End Sub

Se constati che l' impatto sulla dimensione file e' sfavorevole, allora metti questa come macro di WorkbookOpen, oltre che disponibile su comando, e un' altra simile che rimuove tutti i commenti nell' area prima della chiusura del file.

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

commento automatico

Postdi raimea » 02/08/12 03:24

quasi ok,
1) la macro funziona , ma si blocca qui
Codice: Seleziona tutto
Comment.Text Text:="Di turno:" & Chr(10) & Range("G70").Offset(Cella.Value - 1, 0).Value

dicendo tipo non corrispondente, se in una cella della --> myArea = "F5:db32" '<< La tua area
non trova un numero ma bensi' una parola.

questo non lo avevo specificato io,
che in alcune celle ci potrebbe essere una scritta tipo --> natale, s.stefano , ecc..

grazie
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: commento automatico

Postdi Anthony47 » 02/08/12 13:49

Allora bisogna articolare maggiormente il test; prova con
Codice: Seleziona tutto
        If IsNumeric(Cella.Value) And Cella.Value <> 0 Then

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

commento automatico

Postdi raimea » 02/08/12 16:30

ottimo.. :D
tutto ok grazie mille
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: commento automatico

Postdi raimea » 05/09/12 20:36

ciao
volevo adattare la macro sopra, ad altro file ,
ma mi sono arenato su 2 problemi che non so risolvere:

fgl masaniello 1

Codice: Seleziona tutto
Sub mettinazioni()

ActiveSheet.Unprotect

Application.ScreenUpdating = False ' non vedo cambiare i vari fogli

myArea = "B4:B108" '<< La tua area
'
For Each Cella In Range(myArea)
    With Cella
        .ClearComments
        If IsNumeric(Cella.Value) And Cella.Value <> 0 Then     'mette il nome solo nelle celle
            .Select
            .AddComment
            .Comment.Visible = False
            .Comment.Text Text:="nazione:" & Chr(10) & Range("FA4").Offset(Cella.Value - 1, 0).Value
        End If
    End With
Next Cella

   
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
   

     Range("e1").Select
     
     Application.ScreenUpdating = True
   
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveWindow.DisplayGridlines = False
     
End Sub


vorrei mettere le note in col B, prelevando i dati da col FA4
ma so che la prima cosa da sistem e' questa:
Codice: Seleziona tutto
 If IsNumeric(Cella.Value) And Cella.Value <> 0 Then

dove la col B non ha numeri ma "testo"

poi se aggiro cio' mi si ferma qui :
Codice: Seleziona tutto
.Comment.Text Text:="nazione:" & Chr(10) & Range("FA4").Offset(Cella.Value - 1, 0).Value


dicendomi--> tipo non corrispondente...

le ho provate "quasi tutte" :)
ma non sono riuscito a sistemare la macro ,... chiedo aiutino.. :roll:
grazie ciao

https://docs.google.com/open?id=0B-1JnJV5VEJMaFdqVDZGeW1ZZjQ
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: commento automatico

Postdi Flash30005 » 05/09/12 22:25

Non ho letto tutto l'argomento ma solo le ultime due righe dove ti dà errore

la prima essendo testo dovrebbe saltarla
ma se hai trovato un sotterfugio per far passare la condizione
ti ritrovi nella seconda riga con errore perché l'offest vuole un numero di riga (infatti al valore cella detrae 1, ma se è testo? )
Codice: Seleziona tutto
....Range("FA4").Offset(Cella.Value - 1, 0).Value


poi darò un'occhiata al file

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: commento automatico

Postdi raimea » 06/09/12 05:38

ciao
l'unico modo che ho trovato x arrivare al 2do errore e' stato di saltare il primo.. :oops:
mettendo l'apice davanti ad if.....
Codice: Seleziona tutto
For Each Cella In Range(myArea)
    With Cella
        .ClearComments
       ' If IsNumeric(Cella.Value) And Cella.Value <> 0 Then     'mette il nome solo nelle celle con i numeri <<< salta con apice
            .Select
            .AddComment
            .Comment.Visible = False
            .Comment.Text Text:="nazione:" & Chr(10) & Range("FA4").Offset(Cella.Value - 1, 0).Value
        'End If
    End With
Next Cella


ma non e' certo la soluzione.
grazie ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: commento automatico

Postdi Anthony47 » 06/09/12 14:39

Togli le righe If /End if e poi modifica la riga
.Comment.Text Text:="nazione:" & Chr(10) & Range("FA4").Offset(Cella.Value - 1, 0).Value
in
.Comment.Text Text:="nazione:" & Chr(10) & Range("FA4").Value

Questo ti mette in ogni cella dell' area il testo che c' e' in FA4.

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

Re: commento automatico

Postdi raimea » 06/09/12 15:57

quasi ok... :D
cosi facendo :
Codice: Seleziona tutto
.Comment.Text Text:="nazione:" & Chr(10) & Range("FA4").Value

mette in tutte le celle di Col B cio' che c'e in FA4
ma io verrei che in b4 mette FA4
in B5 FA5 ecc...
non la stessa cosa in tete le stesse celle di Col b
ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: commento automatico

Postdi Anthony47 » 06/09/12 23:42

La tua descrizione non era proprio chiarissima, avendo parlato di "col FA4", tant' e' che mi sono premunito di dirti subito che cosa l' istruzione avrebbe fatto.
Con i nuovi dettagli prova:
Codice: Seleziona tutto
.Comment.Text Text:="nazione:" & Chr(10) & Cells(Cella.row, "FA").Value


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

Re: commento automatico

Postdi raimea » 07/09/12 05:42

:) ora tutto ok.
sono riuscito anche a far si', che il commento
non venga inserito nel caso la cella di col B sia vuota.
riporto tutta la macro:
Codice: Seleziona tutto
Sub mettinazioni()

ActiveSheet.Unprotect

Application.ScreenUpdating = False ' non vedo cambiare i vari fogli

myArea = "B4:B108" '<< La tua area

For Each Cella In Range(myArea)
    With Cella
        .ClearComments
       
        If Cella.Value <> "" Then     'mette il nome solo nelle celle piene
            .Select
            .AddComment
            .Comment.Visible = False
            .Comment.Text Text:="nazione:" & Chr(10) & Cells(Cella.Row, "FA").Value
           
        End If
    End With
Next Cella
   
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
   
     Range("e1").Select
     
     Application.ScreenUpdating = True
   
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveWindow.DisplayGridlines = False
     
End Sub

grazie fesss anthony. ;)
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago


Torna a Applicazioni Office Windows


Topic correlati a "commento automatico":


Chi c’è in linea

Visitano il forum: Marius44 e 56 ospiti