Copie complète de la feuille et coller comme valeurs

Je suis en train de copier la feuille de calcul active dans un nouveau classeur, puis enregistrer ce nouveau classeur et le fermer. Ceci est déclenchée en cliquant sur un formulaire (bouton) dans la feuille de calcul active. Le bouton est alors supprimé dans le nouveau classeur avant de l'enregistrer.

Je suis à l'aide de formules dans la feuille de calcul active. Je suis en train de copier uniquement les valeurs et toute autre mise en forme.

Le nouveau classeur n'affiche pas les valeurs, mais seulement des cellules vides (pas de formules sont indiqués, soit, ce qui est évidemment ok). Plus précisément, le problème semble se produire lors de la copie de cellules indirects des formules; il semble y avoir aucun problème pour les cellules qui utilisent plus simple, les références à d'autres feuilles dans le classeur d'origine.

Voici le code:

Sub CopyRemoveFormAndSave()
    Dim RelativePath As String
    Dim shp As Shape
    Dim testStr As String

    ' Copy and Paste Active Sheet
    ActiveSheet.Copy
    With ActiveSheet.UsedRange
        .Value = .Value
    End With

    ' Remove forms
    For Each shp In ActiveSheet.Shapes
        If shp.Type = 8 Then
            If shp.FormControlType = 0 Then
                testStr = ""
                On Error Resume Next
                testStr = shp.TopLeftCell.Address
                On Error GoTo 0
                If testStr <> "" Then shp.Delete
            Else
                shp.Delete
            End If
        End If
    Next shp

    ' Save New Workbook and Close
    Application.DisplayAlerts = False
    RelativePath = ThisWorkbook.Path & "\" & ActiveSheet.Name & "_Reporting_" & Format(Now, "yymmdd") & ".xlsx"
    ActiveWorkbook.SaveAs Filename:=RelativePath
    ActiveWorkbook.Close
    Application.DisplayAlerts = True

End Sub
OK pour moi avec un =INDIRECT() formule suivante: pouvez-vous donner un exemple des formules qui cause un problème?

OriginalL'auteur Nick | 2013-10-16