-
PT
-
ES
-
AO
-
CV
-
MZ
-
ST
-
GW
-
Professional
-
Executive
-
Public Sector
-
Omnia
-
Evolution
Quando se edita um ficheiro produzido com o Office Extensions (OE) numa máquina com Excel, mas sem OE ou conexão à base de dados do ERP, os valores das células que utilizam fórmulas do OE são preservados a menos que se provoque um recálculo direto ou indireto das mesmas.
Antes de transportar esse ficheiro para outra máquina que não tenha o OE, é possível remover as fórmulas do OE de cada célula e substitui-las pelo valor calculado da célula.
Desta forma, obtêm-se um ficheiro sem dependências para fórmulas do OE que pode ser aberto em qualquer máquina onde podemos editar livremente as células sem perder os valores calculados previamente.
Para tal, encontra-se disponível a seguinte macro VBA para Excel que pode ser executada conforme as necessidades de cada ficheiro:
| Option Explicit Sub PRI_SelectionFormulasToValues() PRI_RangeFormulaToValue Selection End Sub Sub PRI_ActiveWorkbookFormulasToValues() Dim sht As Object For Each sht In ActiveWorkbook.Sheets PRI_RangeFormulaToValue sht.UsedRange Next End Sub Sub PRI_ActiveSheetFormulasToValues() PRI_RangeFormulaToValue ActiveSheet.UsedRange End Sub Sub PRI_RangeFormulaToValue(rng As Range) Dim cel As Range Dim formula As String For Each cel In rng If Len(cel.Value) > 0 Then formula = CStr(cel.formula) If InStr(1, formula, "PRI_", vbTextCompare) > 0 Then PRI_CellFormulaToValue cel End If End If Next End Sub Sub PRI_CellFormulaToValue(rng As Range) With rng .Cells.Copy .Cells.PasteSpecial xlPasteValues End With Application.CutCopyMode = False End Sub |
O código apresentado é compatível com Excel 2010 e apenas serve de exemplo.