Guardado de Valores de la celda y no de fórmula

Hola, Elsa de nuevo me surge un detalle al momento de guardar una celda con una fórmula, esta guarda la fórmula corriendo las celdas de la fórmula hasta la celda de copiado. Me gustaría saber como puedo hacer para que guarde solo el valor que resulta de la fórmula de la celda y no la fórmula.
Gracias
Jose

1 respuesta

Respuesta
1
TEnés que utilizar la función Pegado Especial.
Si estamos hablando de macros (?) Será:
'celda a copiar
ActiveCell.copy
'se selecciona destino para copiar solo valores
range("B5").select
Selection.PasteSpecial Paste:=xlValues
Desde la hoja Excel, esto mismo lo haces copiando y pegando encima con Pegado Especial, solo valores
Saludos
Elsa
http://es.geocities.com/lacibelesdepunilla/manuales_aplicaciones
Disculpa Elsa creo que no me explique bien, en efecto es en un Macro. Hay celdas fijas que son como un formulario que van almacenando los valores en una tabla, tengo celdas sin fórmulas que me las guarda de manera consecutiva al presionar el botón denominado GUARDAR una debajo de otra sin ningún problema. Ahora bien las celdas con fórmulas me guarda las fórmulas en la tabla más no los valores, que es lo que quiero.
Anexo ejemplo
Sub copiarlimpiar()
'obtener ultima fila con datos de la tabla
Dim miFila As Integer
miFila = Sheets("Hoja1").Range("b65500").End(xlUp).Row + 1
'selecciona hoja con datos a copiar
'primer dato en primer col
Sheets("Hoja1").Select
ActiveSheet.Range("b20").Copy Destination:=Sheets("Hoja1").Cells(miFila, 2)
'segundo dato en col B
ActiveSheet.Range("c20").Copy Destination:=Sheets("Hoja1").Cells(miFila, 3)
ActiveSheet.Range("d20").Copy Destination:=Sheets("Hoja1").Cells(miFila, 6)
'así con cada dato
'limpiar celdas
ActiveSheet.Range("b20") = ""
ActiveSheet.Range("c20") = ""
ActiveSheet.Range("d20") = ""
'así con todas las celdas
End Sub
En el ejemplo las celdas B20 y C20 son valores, pero la celda D20 es una fórmula que al ser copiada me copia la fórmula y lo que deseo es solo el valor.
De nuevo muchas gracias por tu tiempo y paciencia
Jose
Tenés que incluir el ejemplo que te envié con anterioridad, del pegado especial
Ejemplo para la celda D20:
En lugar de esta instrucción:
ActiveSheet.Range("d20").Copy Destination:=Sheets("Hoja1").Cells(miFila, 6)
utilizá estas otras:
ActiveSheet.Range("D20").Copy
Sheets("Hoja1").Cells(miFila, 6).PasteSpecial Paste:=xlValues
Eso solo en las que quieras los valores sin sus fórmulas, en las demás seguí con las que utilizaste.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas