Aqui está uma maneira de automatizar o que você estava fazendo antes.
Ele combina as melhores partes da resposta de LonelyKnight a sua própria pergunta , a resposta de Indrek e a resposta de Billis:
Sub Show_Formulas()
Dim rng As Range, cell As Range
row_offset = 10
col_offset = 0
Set rng = Range(Cells(1, 1), Cells(5, 7))
On Error GoTo ErrHandler
For Each cell In rng
cell.Offset(row_offset, col_offset) = "'" & cell.Formula
Next cell
Exit Sub
ErrHandler:
MsgBox "The cow jumped over the moon", , "Error!", Err.HelpFile, Err.HelpContext
End Sub
Para cada célula no intervalo especificado (aqui codificada como A1:G5
), copia a fórmula da célula,
protegido por um apóstrofo, a uma célula fixa de distância.
(Veja Como eu adiciono o VBA no MS Office?
para obter orientação sobre como usar o VBA no Excel.) Você só precisa lembrar de executar essa macro antes de imprimir.
Ou adicione uma declaração PrintOut , , , True
antes de Exit Sub
,
e esta macro irá imprimir a folha para você.
(Você só precisa se lembrar de imprimir usando essa macro .)
O quarto parâmetro para PrintOut
é Visualizar ,
definido como True
para que o Microsoft Excel invoque a pré-visualização da impressão antes de imprimir a folha
(dando-lhe assim a opção de cancelar)
ou False
(ou omitido) para imprimir a folha imediatamente, incondicionalmente.
Ou, se você está realmente preocupado em esquecer de executar isso,
você pode usar Private Sub Worksheet_Change
para atualizar as fórmulas exibíveis
a qualquer momento que você fizer qualquer alteração na planilha.