Pegar fórmulas en hoja de excel con VBA

Tengo la siguiente macro que permite llevar los datos de un rango de celdas a otra hoja de acuerdo a la condición dada en la celda A1 ¿cómo se puede hacer para que en ese traspaso de información pegue también la fórmula que se encuentra en el rango?

Private Sub ComboBox1_Change()
Dim w As String
ActiveSheet.[B2:G7].Clear  'Borra datos en hoja1
w = ActiveSheet.[A1].Value  'Variable w que es la fecha
With Sheets("Hoja2").[A1]
  .AutoFilter 1, w       'Aplica autofiltro
  .CurrentRegion.Copy ActiveSheet.[A2]
 'Copia y pega lo filtrado
  .AutoFilter         'Quita el autofiltro
End With
End Sub

1 Respuesta

Respuesta
1

Cuando copias un rango filtrado solamente pega los valores. Si quieres las fórmulas, podrías intentar copiar todo el rango, de esa manera copias las fórmulas, filtrar lo diferente a la fecha, borrar las filas diferentes, de esa manera permanecerán los datos que necesitas.

Prueba la siguiente:

Sub test2()
Dim w As String
With ActiveSheet
  .[B2:G7].Clear  'Borra datos en hoja1
  w = ActiveSheet.[A1].Value  'Variable w que es la fecha
  Sheets("Hoja2").[A1].CurrentRegion.Copy ActiveSheet.[A2]
  .[A2].AutoFilter 1, "<>" & w     'Aplica autofiltro
  .AutoFilter.Range.Offset(1).EntireRow.Delete
  .[A2].AutoFilter         'Quita el autofiltro
End With
End Sub

Hola Dante, muy buenos días. Gusto de leerte nuevamente.
Entiendo la secuencia que mencionas sin embargo hay algo no entiendo como corregir.

Realiza el copiado de la tabla, lo filtra y borra lo que no se necesita en la hoja 1 pero en ese proceso borra informacion que hay debajo y va subiendo los combobox que hay en la hoja.

Entonces realiza el proceso en otra hoja y después copias el resultado en la hoja que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas