Abajo está el código que estoy usando, pero arroja un error 1004 en el range.value
línea. Sin embargo, copia con éxito la hoja de cálculo sin fórmulas (solo valores). Es solo que ejecutando esto sigue lanzando el error 1004.
Sub test1()
Dim wbNew As Workbook
Dim wks As Worksheet
Set wbNew = Workbooks.Add(xlWBATWorksheet)
ThisWorkbook.Worksheets.Copy After:=wbNew.Worksheets(1)
Application.DisplayAlerts = False
wbNew.Worksheets(1).Delete
Application.DisplayAlerts = True
Application.Calculation = xlCalculationManual
For Each wks In wbNew.Worksheets
wks.UsedRange.Value = wks.UsedRange.Value
Next wks
Application.Dialogs(xlDialogSaveAs).Show
End Sub
Respuestas
0 para la respuesta № 1¿Cuál es el propósito de wks.usedrange.value = wks.usedrange.value? Esta pregunta es independiente de si el comando está permitido por VBA.
0 para la respuesta № 2
No puedo entender por qué intentas hacer esto:
For Each wks In wbNew.Worksheets
wks.UsedRange.Value = wks.UsedRange.Value
Next wks
Es como decir que x = x