Encontrar primer registro vacío dentro de un rango

El código que muestro a continuación posiciona el cursor una celda debajo de la ultima celda ocupada en una lista de datos que se encuentren en la columna "A".
Range("A" & [A:A].Rows.Count).End(xlUp).Offset(1, 0).Select
Lo que yo deseo saber es si puedo codificar algo semejante pero no para una sola columna de datos sino para más de una, es decir para un rango de datos semejantes a los registros en una base de datos. De forma tal que aunque un campo del registro no se haya llenado no se tome éste campo como referencia para suponer que el resto del registro también se encuentra vacío. Sino que la macro busque en todos los campos del registro hasta confirmar que todos se encuentran vacíos y poder suponer que efectivamente el registro completo se encuentra totalmente disponible para poder ser utilizado.
De antemano agradezco su atención y su respuesta.
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">fWDwv49u3jJ2ainOeUot0XVMn4L4C-6QD-g71DKaYFIhoPqFSFYDI4nKNazvMPRrFlyRNV-6BuBZahFx3RX3nHWI4wBqPQl8wtW9A8SD0T3831OvvXKSbffMS-kWWG7Gat_YDCPcIibhcuWlKkt8bdUas5DJ7ObOJimidTJl66kzBMICkYiT0HqBcO75jlIQqEX9eoN7NDrKwlbBSdkonQ~~</div>

1 respuesta

Respuesta
1
El numero de columnas que puedes ocupar es variable o son siempre los mismos, me refiero si utilizas por ejemplo desde la columna A hasta la E o unas filas ocupan unas columnas y otras filas otras.
Aclarame esto
>Un saludo
>Julio
El numero de columnas que se podrán ocupar será siempre el mismo, por ejemplo desde la columna "A" hasta la "J". Cualquiera de esas columnas(o todas) en la fila correspondiente podrá ser ocupado.
Gracias de antemano por la ayuda que me puedas hacer llegar.
Vale, comenzamos por situarnos en la celda A1 y siguiendo tu información comprobaremos hasta la J1, si alguna celda esta ocupada seguimos a otra fila y volvemos a comprobar, así hasta que en el rango indicado A-J no exista ninguna celda con datos y nos situaremos en la columna A de esa fila:
Sub Comprobar()
Dim primera, ultima As String
Range("A1").Select
primera = ActiveCell.Address
ultima = ActiveCell.Offset(0, 9).Address
Do While ActiveCell.Address <> "$A$65536"
Range(primera).Select
Do While ActiveCell.Address <> ultima
If ActiveCell.Value = "" Then
ActiveCell.Offset(0, 1).Select
Else
Exit Do
End If
Loop
If ActiveCell.Address <> ultima Then
Range(primera).Select
ActiveCell.Offset(1, 0).Select
primera = ActiveCell.Address
ultima = ActiveCell.Offset(0, 9).Address
Else
Exit Do
End If
Loop
If ActiveCell.Address = ultima Or ActiveCell.Address=$A$65536" Then
Range(primera).Select
End If
End Sub
Ya la tienes cuando quieras la ejecutas y te situara en tu primera celda en blanco de un rango de A hasta J que estarán todas vacías.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas