Come estrarre le formule da un foglio di lavoro

Excel ti consente di visualizzare le formule in un foglio di lavoro semplicemente premendo la combinazione di tasti CTRL + MAIUSC + 8, oppure assicurandoti che la casella di controllo “Visualizza formule nelle celle anziché i risultati calcolati” sia selezionata nella scheda Impostazioni avanzate della finestra di dialogo Opzioni. Questo può essere un modo pratico per stampare un foglio di lavoro che mostri le formule utilizzate per creare il foglio stesso.

Tuttavia, questo approccio funziona bene solo se le formule utilizzate nel foglio di lavoro sono piuttosto brevi. Se le formule sono più lunghe, comprendere un foglio di lavoro con le formule visualizzate può diventare rapidamente un compito fastidioso.

Una soluzione, utilizzando la seguente coppia di macro, potrebbe essere quella di creare dei commenti nelle celle selezionate contenenti formule. Tali commenti poi potrebbero venire stampati con l’impostazione presente nella finestra di dialogo Imposta pagina (scheda Foglio > Stampa > Commenti e note):

 

Sub AggiungiCommentiAlleFormule()

On Error Resume Next

For Each comt In Selection.Cells
    If Not IsEmpty(comt) Then
        comt.AddComment
        comt.Comment.Text Text:=comt.Formula
    End If
Next

Application.DisplayCommentIndicator = xlCommentAndIndicator

FormattaCommenti

End Sub
Sub FormattaCommenti()

For Each cmt In ActiveSheet.Comments

    With cmt.Shape.TextFrame
        .AutoSize = True
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
    End With
    
    With cmt.Shape.TextFrame.Characters.Font
        .Name = "Arial"
        .Size = 10
        .Bold = True
    End With
    
    Set rngComments = ActiveSheet.Range("a:iv").SpecialCells(xlCellTypeComments)
    
    ActiveWindow.Zoom = 100
    
    For Each rngTemp In rngComments
        rngTemp.Comment.Shape.Fill.BackColor.RGB = RGB(204, 255, 255)
        rngTemp.Comment.Shape.Fill.OneColorGradient msoGradientHorizontal, 4, 0.36
        rngTemp.Comment.Shape.Shadow.Visible = msoTrue
        rngTemp.Comment.Shape.Fill.BackColor.SchemeColor = 41
    Next

Next

End Sub

 

 

Questo approccio potrebbe però essere poco pratico. Potrebbe aggiungere commenti anche alle celle che in realtà non contengono formule. Inoltre, un foglio di lavoro contenente milioni di formule lunghe causerà molta confusione durante la creazione dei commenti e richiederà molta formattazione se è necessaria una stampa.

Una soluzione alternativa, forse la migliore, è quella di estrarre le formule da Excel e inserirle in un programma come Word. Perché Word? Perché puoi formattare facilmente gli attributi del testo (come il carattere tipografico e la dimensione in punti) per visualizzare al meglio le tue formule. Se lo desideri, puoi anche aggiungere del testo per spiegare le formule.

Il modo più semplice per ottenere formule da Excel in Word è seguire questi passaggi:

  1. Visualizza la finestra di dialogo Opzioni di Excel (in Excel 2007 fai clic sul pulsante Office, quindi su Opzioni di Excel. In Excel 2010 e successivi visualizza la scheda File della barra multifunzione, quindi fai clic su Opzioni).
  2. Sul lato sinistro della finestra di dialogo fai clic su Impostazioni avanzate.
  3. Scorri l’elenco delle opzioni fino a visualizzare la sezione intitolata Opzioni di visualizzazione per il foglio di lavoro.
  4. Assicurati che la casella di controllo Visualizza formule nelle celle anziché i risultati calcolati sia selezionata.

 

Come estrarre le formule da un foglio di lavoro 1

 

  1. Fai clic su OK. Excel ora dovrebbe visualizzare le formule.
  2. Seleziona le celle di cui desideri copiare le formule in Word.
  3. Premi Ctrl+C per copiare le celle negli Appunti.
  4. Passa a Word.
  5. Posiziona il punto di inserimento nel punto in cui desideri aggiungere le informazioni.
  6. Visualizza la scheda Home della barra multifunzione.
  7. Fai clic sulla freccia giù sotto lo strumento Incolla, quindi scegli Incolla speciale. Word visualizza la finestra di dialogo Incolla speciale.
  8. Scegli l’opzione Mantieni solo il testo.
  9. Fai clic su OK.

 

A questo punto le tue formule sono in Word e puoi farne come meglio credi. Sebbene questo approccio funzioni bene, può diventare fastidioso ripeterlo più e più volte se hai un gran numero di formule da copiare. Se ti trovi in ​​una situazione del genere, trarrai vantaggio dall’avere una macro che estrae effettivamente le formule e le inserisce in un documento Word per te. La seguente macro di Excel farà proprio questo:

 

Sub EsportaFormuleInWord()
    Dim Wrd As New Word.Application
    Dim CellTxt As String
    Dim CellAddr As String
    Dim SRow As Long
    Dim SCol As Long

    Wrd.Visible = True
    Wrd.Documents.Add

    Wrd.Selection.TypeText Text:="Elenco delle formule nel foglio """ _
      & ActiveSheet.Name & """ della Cartella di Lavoro """ _
      & ActiveWorkbook.Name & """."
    Wrd.Selection.TypeText Text:=vbCrLf & vbCrLf

    'Modifica la riga seguente per scegliere il numero delle colonne
    For SCol = 1 To 5
        'Modifica la riga seguente per scegliere il numero di righe
        For SRow = 1 To 10
            If Cells(SRow, SCol).HasFormula Then
                CellAddr = Chr(64 + SCol) & Trim(Str(SRow)) & vbTab
                CellTxt = ActiveSheet.Cells(SRow, SCol).Formula
                Wrd.Selection.TypeText Text:=CellAddr & CellTxt
                Wrd.Selection.TypeText Text:=vbCrLf
            End If
        Next SRow
        Wrd.Selection.TypeText Text:=vbCrLf
    Next SCol
End Sub

 

 

Ci sono un paio di cose da notare in questa macro. Prima di tutto, puoi modificare l’intervallo di righe e colonne su cui funziona la macro modificando le istruzioni For commentate che utilizzano sia SCol che SRow. Nell’esempio mostrato sopra, la macro estrae le formule dalle colonne da 1 a 5 (da A a E) e dalle righe da 1 a 10.

Inoltre, questa macro non funzionerà correttamente a meno che non si configurino le macro di Excel per gestire i riferimenti agli oggetti di Word. Puoi farlo seguendo questi passaggi all’interno dell’editor VBA:

  1. Scegli Riferimenti dal menu Strumenti. VBA visualizza la finestra di dialogo Riferimenti.
  2. Scorri l’elenco dei riferimenti finché non ne vedi uno chiamato Microsoft Word Object Library (potrebbe essere incluso un numero di versione nel nome de riferimento, ad esempio Microsoft Word 16.0 Object Library).

 

Come estrarre le formule da un foglio di lavoro 3

 

  1. Assicurati che la casella di controllo a sinistra della libreria di oggetti sia selezionata.
  2. Fai clic su OK.

 

Un vantaggio dell’utilizzo di una macro per estrarre effettivamente le formule è che puoi personalizzare esattamente ciò che viene inserito nel documento di Word. Nel caso di questa macro, viene inserito l’indirizzo della cella, seguito da un carattere di tabulazione e quindi dalla formula vera e propria. Potresti altrettanto facilmente modificare le informazioni inserite in modo che siano tutto ciò di cui hai bisogno nella tua istanza particolare.

 

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Ti è stato utile?