Copiar texto de una celda a otra y en caso que este vacía pasar a la siguiente celda

Girweb te escribo para una consulta, lo que pasa es que tengo que pasar una formula de excel para visual basic y bueno, tu te manejas bien en el tema, mira, esta es la formula o código:

Si celda I4 contiene texto
Entonces copiar I4 en celda D4
Sino pasar a I5

Y además como hacer para que se repita esta formula, ¿hasta dónde existan datos nada mas?. Las columnas en cuestión son las D y la I
Y la cantidad de datos (celdas) va variando, ¿cómo se haría en ese caso?.

1 respuesta

Respuesta
1

Dos opciones

1:La primera copia todo el rango independientemente si hay o no valor

Sub pasar()
Range("I4").Select ' posicionarte el la primera celda
Range(Selection, Range("I65536").End(xlUp)).Select ' posicionarte el la última celda escrita
Selection.Copy ' copiar
Range("D4").Select 'posicionarse en la primera posición
ActiveSheet.Paste 'pegar
Application.CutCopyMode = False
End Sub

2.- Más parecido a lo que pides

Sub pasar2()
Dim i As Integer
For i = 4 To Range("I65536").End(xlUp).Row ' desde el principio al final
If (Range("I" & i).Value & "1" <> "1") Then ' si el valor esta vación no se copia
Range("D" & i).Value = Range("I" & i).Value ' copiar el valor
End If
Next
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas