Dejar celda vacía al pegar

¿Se puede dejar una celda vacía al pegar valores de otra celda?, quisiera que mi macro al copiar valores y pegarlos en otra hoja deje una celda vacía y continúe pegando.

Algo así

Copiar A1, C1, D1, F1

Pegar en

A1, celda vacía, C1, D1, celda vacía, F1

1 respuesta

Respuesta
1

En ese caso tiene que pasar celda por celda

Algo como:

Sub copia_test()
  Dim s1 As Worksheet, s2 As Worksheet
  Set s1 = Sheets("Hoja1")    'origen
  Set s2 = Sheets("Hoja1")    'destino
  'La hoja2 recibe el valor de la hoja1
  s2.Range("A1").Value = s1.Range("A1").Value
  s2.Range("C1").Value = s1.Range("C1").Value
  s2.Range("D1").Value = s1.Range("D1").Value
  s2.Range("F1").Value = s1.Range("F1").Value
End Sub

perfecto, pero quiero que no se ubique en una celda especifica sino al final del documento en la primera celda b sin información 

Prueba lo siguiente.

Esta línea sirve para encontrar la siguiente celda vacía de la columna A.

NOTA: Debes considerar una columna que contenga datos, si pones una columna que no tiene datos, la siguiente fila vacía siempre será la fila 2.

lr = s2.Range("A" & Rows.Count).End(3).Row + 1

Una vez que encuentras la siguiente celda vacía, ahí puedes poner la información.

Sub copia_test()
  Dim s1 As Worksheet, s2 As Worksheet
  Dim lr As Long
  '
  Set s1 = Sheets("Hoja1")    'origen
  Set s2 = Sheets("Hoja2")    'destino
  'La hoja2 recibe el valor de la hoja1
  lr = s2.Range("A" & Rows.Count).End(3).Row + 1
  s2.Range("A" & lr).Value = s1.Range("A1").Value
  s2.Range("C" & lr).Value = s1.Range("C1").Value
  s2.Range("D" & lr).Value = s1.Range("D1").Value
  s2.Range("F" & lr).Value = s1.Range("F1").Value
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas