Saltar al contenido

Omitir celdas en blanco de un bucle


Recommended Posts

publicado

Buenos días, quisiera que me ayudar para ver que le falta a mi macro para que omita las filas en blanco y siga a la siguiente fila para que extranga los datos de ela ultima fila.

Adjunto la macro

Set jhcrudo = Sheets("CRUDO")
jhcrudo.Activate
jhcrudo.Cells(1, 1).Select
jhcrudo.Cells(1, 1).End(xlDown).Select
Fila = ActiveCell.Row
For v = 1 To 5
jhcrudo.Cells(Fila, 1).Select
jhcrudo.Cells(Fila, 1).End(xlDown).Select
Fila = ActiveCell.Row
Next v
jhcrudo.Cells(Fila, 1).Select
jhcrudo.Cells(Fila, 1).End(xlUp).Select
Fila = ActiveCell.Row
Fila2 = Fila
Target = 1
While Target = 1
jhcrudo.Activate
If jhcrudo.Cells(Fila, "C") = "R1" Then
For j = 7 To 12
jh.Activate
jh.Cells(9, j) = jhcrudo.Cells(Fila, j)
jh.Cells(9, j) = jhcrudo.Cells(Fila, j)
jh.Cells(9, "K") = jhcrudo.Cells(Fila, 1)
jh.Cells(9, "L") = jhcrudo.Cells(Fila, 2)
Next j
Target = 0
End If
Fila = Fila - 1

Wend
Target = 1
While Target = 1
jhcrudo.Activate
If jhcrudo.Cells(Fila2, "C") = "R2" Then
For l = 7 To 12
jh.Activate
jh.Cells(10, l) = jhcrudo.Cells(Fila2, l)
jh.Cells(10, l) = jhcrudo.Cells(Fila2, l)
jh.Cells(10, "K") = jhcrudo.Cells(Fila2, 1)
jh.Cells(10, "L") = jhcrudo.Cells(Fila2, 2)
Next l
Target = 0
End If
Fila2 = Fila2 - 1

Wend

jhcrudo.Activate
ActiveWindow.Close savechanges:=False

Sheets("Resultados").Activate

End Sub

publicado

Podrías usar la función IsEmpty para verificar si una celda está vacía. Como ejemplo tal vez agregar la condición If Not IsEmpty (cell) Then antes de copiar la celda al destino.

publicado

Un ejemplo:

If Not IsEmpty(jhcrudo.Cells(Fila, "C")) Then
    If jhcrudo.Cells(Fila, "C") = "R1" Then
        For j = 7 To 12
            jh.Activate
            jh.Cells(9, j) = jhcrudo.Cells(Fila, j)
            jh.Cells(9, "K") = jhcrudo.Cells(Fila, 1)
            jh.Cells(9, "L") = jhcrudo.Cells(Fila, 2)
        Next j
        Target = 0
    End If
End If

Ahí la macro verifica si la celda en la columna “C” está vacía antes de copiarla. Si la celda no está vacía y su valor es “R1”, entonces la macro copia los valores. Sería (si te es útil) hacer algo similar en el resto de tu código.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.