¿Cómo copiar solo el texto y no las fórmulas de las celdas?

Buenos días, verán, tengo el siguiente código:

Sub guardar()
'Inicio
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("Producción")
    fec = h1.[R1]
    ruta = "K:\Produccion\Diario\PLANTA I"
    'ruta = l1.Path
    '
    'Crea nuevo libro y copia hojas
    l1.Sheets("Producción").Copy
    Set l2 = ActiveWorkbook
    l1.Sheets("Paradas").Copy After:=l2.Sheets(l2.Sheets.Count)
    '
    mes = Month(Date)
    meses = Array("", "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", _
                  "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre")
    nd = meses(mes)
    '
    If Dir(ruta & "\" & nd, vbDirectory) = "" Then
        MkDir ruta & "\" & nd
    End If
    '
    nom = "ReporteProduccionP1-" & Year(fec) & Format(Month(fec), "00") & Format(Day(fec), "00")
    l2.SaveAs ruta & "\" & nd & "\" & nom
    l2.Close
    MsgBox "¡Enviado con Exito!", vbInformation
End Sub

Funciona a la perfección, pero hay dos detalles de los que me he venido dando cuenta

1) Cuando guarda el archivo, la copia que se ha guardado abre en la pestaña de "Paradas" en lugar de la de "Producción".

2) Cuando se guarda la copia, también se guarda las fórmulas de las celdas, solo quiero que se guarde el texto de la celdas.

Por ejemplo, esta un celda que su fórmula es =2+2 y el resultado visible en la celda es 4, bueno, lo que quiero es que ese 2+2 desaparezca y solo sea visible el 4, inclusive cuando se hace clic en la fórmula, en la barra de Fx salga el 4.

Gracias de antemano!

1 respuesta

Respuesta
1

Te anexo la macro con los cambios.

Sub guardar()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("Producción")
    fec = h1.[R1]
    ruta = "K:\Produccion\Diario\PLANTA I"
    'ruta = l1.Path
    '
    'Crea nuevo libro y copia hojas
    l1.Sheets("Producción").Copy
    Set l2 = ActiveWorkbook
    ActiveSheet.Cells.Copy
    ActiveSheet.Range("A1").PasteSpecial Paste:=xlValues
    Range("A1").Select
    l1.Sheets("Paradas").Copy After:=l2.Sheets(l2.Sheets.Count)
    ActiveSheet.Cells.Copy
    ActiveSheet.Range("A1").PasteSpecial Paste:=xlValues
    Range("A1").Select
    l2.Sheets(1).Activate
    '
    mes = Month(Date)
    meses = Array("", "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", _
                  "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre")
    nd = meses(mes)
    '
    If Dir(ruta & "\" & nd, vbDirectory) = "" Then
        MkDir ruta & "\" & nd
    End If
    '
    nom = "ReporteProduccionP1-" & Year(fec) & Format(Month(fec), "00") & Format(Day(fec), "00")
    l2.SaveAs ruta & "\" & nd & "\" & nom
    l2.Close
    MsgBox "¡Enviado con Exito!", vbInformation
End Sub

Saludos.Dante Amor

Recuerda valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas