Report x celle evidenziate



  • Report x celle evidenziate
    di vbauser (utente non iscritto) data: 19/03/2014 21:40:30

    Buonasera a tutti,

    Vi illustro il mio problema al quale non riesco a torvare soluzione nelle varie discussioni,

    Avrei bisogno di creare un report (tramite un funzione, una macro o qualsiasi altra cosa)ad esempio sul primo foglio di lavoro, in cui vengono riportate tutte le parole o numeri evidenziati (in grassetto o in qualsiasi altro modo) alll'interno della cartella di lavoro il tutto si rende necessario per evidenziare eventuali variazioni di indirizzi o numeri di telefono effettuate dai colleghi (che utilizzano lo stesso file condiviso) senza dover scorrere ogni volta tutti i fogli all'interno della cartella

    hogGia trovato un codice vba postato da un altro utente (vedi sotto) ma estrapola solo le parole in grassetto all'interno di una cella e non piu fogli di lavoro

    vi ringrazio anticipatamente per le eventuali risposte

     
    Function get_bold_words(cella As Range) As String
    Dim i As Integer, s As String
    
        For Each v In Split(cella, " ")
            s = s & IIf(cella.Characters(InStr(cella, v), Len(v)).Font.Bold, _
                    Trim(v) & " ", "")
        Next
        
        get_bold_words = Trim(s)
    End Function



  • di lepat (utente non iscritto) data: 20/03/2014 06:32:17

    allega un file di esempio con anche il risultato desiderato



  • di Zer0Kelvin data: 20/03/2014 10:26:50

    Ciao.
    "in grassetto o in qualsiasi altro modo" non va molto bene, sarebbe meglio se vi metteste d'accordo su un'unica modalità per evidenziare i valori modificati (non dovrebbe essere difficile).
    Come già detto, meglio avere un file di esempio(privo di dati sensibili, con dati fasulli) per avere un'idea della situazione reale e fare prove.



  • di Vecchio Frac data: 20/03/2014 18:42:57

    Utilizzare il file in modalità condivisa non basterebbe? Excel memorizza le modifiche degli utenti.





  • di vbauser (utente non iscritto) data: 22/03/2014 14:26:41

    prima cosa ci tenevo a precisare che il file è gia condiviso e che per evidenziare le variazioni già si evidenziano solo ho allegato un file prova
    per rendere un po piu chiara la domanda quello che mi occorrerebbe è un codice che mi riporta sul primo foglio le parole e i numeri evidenziati
    sul foglio 2 -3 -4- 5 ecc. (vedi File)



  • di Vecchio Frac data: 22/03/2014 15:10:33

    Quindi basta scorrere riga per riga dei fogli interessati (da 2 in poi), se si trova una cella in grassetto va ricopiata l'intera riga nel foglio1?

     
    Option Explicit
    
    Sub copia_variazioni()
    Dim r, ws, rng, riga, cella
    
        r = 4
        
        For Each ws In Worksheets
        
            If ws.Name <> "foglio1" Then
            
                Set rng = ws.Range("B3").CurrentRegion.Resize(ws.Range("B3").CurrentRegion.Rows.Count - 1).Offset(2)
                
                For Each riga In rng.Rows
                    For Each cella In riga.Cells
                        If cella.Font.Bold Then
                            riga.Copy
                            Foglio1.Cells(r, "B").PasteSpecial xlPasteValues
                            r = r + 1
                            Exit For
                        End If
                    Next cella
                Next riga
            End If
            
        Next ws
        Application.CutCopyMode = False
        MsgBox "Fatto."
    End Sub






  • di vbauser (utente non iscritto) data: 24/03/2014 22:11:39

    Esattamente l ho provato ed è perfetto è proprio quello che mi serviva grazie mille
    Un ultima cosa se possibile se invece di cercare il grassetto in tutto il foglio ad esempio vorrei che cerca solo dalla colonna A alla colonna G di tutti i fogli come dovrei impostare il codice?