AGGIUNGERE COMMENTI



  • AGGIUNGERE COMMENTI
    di MIKY (utente non iscritto) data: 15/07/2015 17:04:42

    ciao a tutti!
    sono piuttosto nuova di VB e chiedo vostro aiuto per riuscire a far sì che su ciascuna cella di una riga molto lunga di Excel (11,x) possano comparire come commenti le note inserite nelle corrispondenti celle due righe più sotto (14,x).....spero di essermi fatta capire ..
    con le colonne l'ho fatto ma con le righe non riesco.... Idee???!! grazieeeee
     
    Option Explicit
    Dim x As Byte
    Dim n As Integer
    
    Sub AddComments()
    '   n= Numero righe
    n = 15
    Columns("D:D").ClearComments
    For x = 11 To n
        Range("D" & x).AddComment
        Range("D" & x).Comment.Visible = False
        Range("D" & x).Comment.Text Text:=Range("a" & x) & Chr(10)
    Next x
    End Sub
    



  • di totygno71 data: 15/07/2015 20:19:17

    Solito consiglio:

    Allega il file di esempio e vedrai che qualcuno ti aiuta.



  • di Vecchio Frac data: 16/07/2015 08:20:53

    Che difficoltà incontri? il ragionamento sarà simile a quello che hai fatto per le colonne.
    Fai vedere dove ti blocchi.





  • di MIKY (utente non iscritto) data: 16/07/2015 09:42:31

    Ecco...vi ho allegato il file in questione. In pratica si tratta della tabella finale di un planning (ridotta per comodità), che riceve una serie di dati e li inserisce automaticamente nelle righe con testo in grigio (righe 12,13,14) in base all'orario e al giorno, accendendo in giallo automaticamente le celle nella riga 11.
    Ora, io vorrei nascondere tutte le righe in grigetto e far sì che l'utente finale possa leggere gli stessi dati in un commento nelle rispettive celle della riga 11.
    mmmmmm...spero di essermi fatta capire...



  • di MIKY (utente non iscritto) data: 16/07/2015 09:48:25

    La difficoltà è che non riesco a far leggere le righe a ".addcomment"...non lo conosco bene e sono riuscita a farlo funzionare solo con range("")...ora questo legge bene le colonne...ma le righe?? Grazieeee community!!



  • di Vecchio Frac data: 16/07/2015 10:04:42

    Quindi se interpreto bene, per restare nell'esempio del file "con commento", il testo delle celle da D12 a D14 (ovviamente se diverso da "X" e quindi meglio lasciar vuote le celle) deve finire in un unico blocco di commento, con le righe separate da ritorno a capo, nella cella D11. Così via per il range da D11 a W11 dove in riga 11 compariranno dei commenti che raccolgono il contenuto delle celle da riga 12 a riga 14, e in futuro avanti così per tutti i successivi giorni.
    E' così?
    p.s. tieni presente che una volta aggiunto un commento non si può semplicemente modificarne la proprietà text





  • di Vecchio Frac data: 16/07/2015 10:24:38

    Per essere concreti, la mia proposta è questa.
     
    Sub add_comments()
    Dim cell As Range, s As String, i As Integer
    
        For Each cell In Range("D11:W11")
            s = ""
            If Not (cell.Comment Is Nothing) Then cell.Comment.Delete
            For i = 1 To 3
                s = s & cell.Offset(i) & Chr(10)
            Next
            If Trim(Replace(s, Chr(10), "")) <> "" Then
                With cell.AddComment
                    .Visible = False
                    .Text s
                End With
            End If
        Next
    
    End Sub






  • di MIKY (utente non iscritto) data: 16/07/2015 10:41:54

    sì, Franc! E' proprio così! la tabella andrà avanti in orizzontale per 90 giorni circa e la stessa sequenza si ripeterà nelle righe sotto quando aggiungerò altri nominativi nella colonna A.



  • di MIKY (utente non iscritto) data: 16/07/2015 10:50:32

    Ho inserito la tua proposta in VB ma mi restituisce l'errore che ti allego..



  • di Vecchio Frac data: 16/07/2015 11:16:13

    cit. "la stessa sequenza si ripeterà nelle righe sotto quando aggiungerò altri nominativi nella colonna A."
    ---> Bè se aggiungerai altri nominativi in colonna A, il codice non fallirà se inserirai i commenti nelle tre righe immediatamente sotto. Però come gestirai il caso che volessi inserire nuovi commenti per esempio per il primo nominativo una volta aggiunti quelli nuovi?
    Mi sfugge un po' la logica di come hai organizzato il foglio.

    Comunque riferendoci all'errore che riporti mi sembra strano, a me funziona senza problemi. Stiamo lavorando sullo stesso esempio di file "agenda9.xlsm"?





  • di MIKY (utente non iscritto) data: 16/07/2015 11:24:27

    hai ragione...ti ho mandato una versione semplificata del file ma così complico le cose...allora ti mando tutto il mio file..



  • di Vecchio Frac data: 16/07/2015 11:48:39

    Bene.
    Consideriamo l'esempio del "planning compilato" così ragioniamo sui dati.
    Tu vuoi che nella fila D11:W11 in ogni cella compaia un commento, questo commento viene composto come? da quello che abbiamo detto prima, pescando e unendo, ad esempio per la colonna D, i valori in D12, D13 e D14 così come risultano dalle formule. Così dopo puoi nascondere le righe 12:14 (e lasciare magari i simboli della nazionalità).
    Ma dubito che tu voglia un commento composto da numeri ("8, 10, GAGGIA" per la colonna D, nominativo MARIO ROSSI). A meno che i numeri non siano significativi :)





  • di MIKY (utente non iscritto) data: 16/07/2015 11:58:30

    Sìììì bravissimo! e' proprio quello che vorrei fare... i numeri aimè dovrebbero essere orari quindi sì sono importanti... Lo so devo lavorarci per ottimizzarne il formato.. A dirla tutta gli ho lasciati così, perché provengono dal form "prenotazione ore private" che li mette nel foglio Database e l'unico modo che ho trovato per far compilare il planning come detto è stato concatenarli come fossero testi generici e fare un cerca vert. Scusa la banalità del codice..sono neofita...ma riuscire a completare questo lavoro imparando cose nuove sarà una grandissima soddisfazione x me, grande fan di Excel!!



  • di Vecchio Frac data: 16/07/2015 13:18:22

    Se sei l'autore del codice che ho visto nel modello, bravo, hai fatto un buon lavoro (è complesso e qualcosa si può sempre sistemare ^_^)
    Un commento finale in ogni celletta allora potrebbe essere "8-10 GAGGIA". Sul formato potrai sempre intervenire a sistemarlo come ti pare.
    Provo a metterci mano, vediamo cosa ne salta fuori :)





  • di Vecchio Frac data: 16/07/2015 13:51:28

    Tra parentesi, adesso ho capito l'errore 2042... si verifica quando il codice cerca di leggere un valore e interpretarlo quando nella cella c'è un valore di errore :)






  • di Vecchio Frac data: 16/07/2015 13:58:01

    Prova a far girare questo codice e vedi come va.
    Sembra complicato invece è piuttosto liscio :)
    L'unico "problema", se vogliamo, è che quando viene inserito il commento nelle celle con sfondo rosso non appare a colpo d'occhio, perchè il triangolino che indica la presenza del commento in Excel è rosso, che si confonde con il colore della cella.
     
    Option Explicit
    
    Sub add_comments()
    Dim last_row As Long, nominativo As Range
    Dim cell As Range, s As String
    
        last_row = Cells(Columns(1).Cells.Count, 1).End(xlUp).Row
        For Each nominativo In Range("A11:A" & last_row)
            If Trim(nominativo) <> "" Then
                For Each cell In Range(Cells(nominativo.Row, "D"), Cells(nominativo.Row, "W"))
                    s = ""
                    If Not IsError(cell) Then
                        If Not (cell.Comment Is Nothing) Then cell.Comment.Delete
                        s = s & cell.Offset(1) & " - " & cell.Offset(2) & " " & cell.Offset(3)
                        If Trim(s) <> "" Then
                            With cell.AddComment
                                .Visible = False
                                .Text s
                            End With
                        End If
                    End If
                Next
            End If
        Next
    
    End Sub
    






  • di MIKY (utente non iscritto) data: 16/07/2015 14:21:16

    Wooowww!! Va benissimo! Grazie milleee...sei un mito!! Ci ho perso due giorni di tentativi senza successo per far questo...finchè ho trovato questo fantastico forum! Grazie anche del "bravA" lo apprezzo molto...sto mettendo insieme le nozioni del corso di informatica all'università e un po' di libri per costruire questo Planning che oramai è diventata una sfida personale...
    Ora lo implemento nei giorni e nelle funzionalità..spero di poter contare ancora sulla tua bravura se mi inceppo... GRAZIEEE! Michela.



  • di Vecchio Frac data: 16/07/2015 14:25:24

    Bene, mi fa piacere. Se questa è chiusa e non trovi altri problemi puoi spuntare su "risolta" (in una nuova risposta) altrimenti scrivi ancora ;)