Copia Formato



  • Copia Formato
    di ILPOZZI data: 27/08/2015 10:13:38

    Buongiorno, esiste qualche formula per ottenere da una cella X non il suo valore, ma anche la formattazione di tale cella?

    se in A1 c'è scritto "Esempio" in blu su giallo
    B2=A1 mi restituisce "Esempio" ma in nero su bianco

    NB cerco una soluzione, se esiste, direttamente in Excel (né in vba né manuale (incolla mantenendo la formattazione))

    Grazie



  • di alfrimpa data: 27/08/2015 11:07:31

    Ciao ILPOZZI

    Non credo che esista la possibilità, tramite formule, di fare quello che chiedi.

    Una formula esegue dei calcoli e non azioni come quella di applicare un formato.

    Probabilmente con il VBA qualcosa si riesce a fare sfruttando l'evento Worksheet_Change del foglio di lavoro.

    Alfredo





  • di totygno71 data: 27/08/2015 11:34:08

    Anche io concordo con Alfredo... Ma mi piacerebbe essere smentito...^_^
    Se invece intendi usare VBA allora le cose cambiano notevolmente...



  • di alfrimpa data: 27/08/2015 12:42:14

    ... e sarebbe sempre una procedura (sub) e mai una function da mettere sul foglio di lavoro.

    A scopo esemplificativo/didascalico trovi in basso c'è una macro che applica alla cella attiva il colore dello sfondo e del testo della cella A1; la macro va comunque lanciata.

    Alfredo
     
    Sub prova()
    Dim coltxt As Long
    Dim colsfn As Long
    coltxt = Range("a1").Font.ColorIndex
    colsfn = Range("a1").Interior.ColorIndex
    ActiveCell.Font.ColorIndex = coltxt
    ActiveCell.Interior.ColorIndex = colsfn
    End Sub
    






  • di alfrimpa data: 27/08/2015 13:08:44

    Giusto per divertirci: altra ipotesi potrebbe essere questa ma da provare molto per eventuali effetti collaterali "indesiderati".

    Alfredo 
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim coltxt As Long
    Dim colsfn As Long
    If Not Intersect(Target, Range("B:B")) Is Nothing Then
        coltxt = Target.Offset(0, -1).Font.ColorIndex
        colsfn = Target.Offset(0, -1).Interior.ColorIndex
        Target.Font.ColorIndex = coltxt
        Target.Interior.ColorIndex = colsfn
    End If
    End Sub
    






  • di ILPOZZI data: 28/08/2015 11:54:09

    Vi ringrazio per la conferma che purtroppo non si può fare e grazie anche le info in VBA.