Encontrar ultima celda vacía y seleccionar las dos celdas siguientes.

Necesito encontrar la ultima celda con datos de la columna B (eso lo he podido hacer ), pero luego de encontrar la ultima celda condatos, seleccionar las celdas de la E y F, de las 4 filas siguientes, ejemplo:

En la columna B encontró la ultima celda con datos en B40, entonces seleccionar E41:F44 y combinarlas, por favor si alguien puede ayudarme con este código, se lo agradecería mucho, pues he intentado de varias formas y no lo he logrado.

2 respuestas

Respuesta
3

Prueba con esta macro

Sub contar_filas()
filas = WorksheetFunction.CountA(Range("b:b"))
Range("b1").Cells(filas + 1, 4).Resize(4, 2).Merge
End Sub
Respuesta
1

Con este código debiera bastar

Sub unir()
'por GP'
    Dim lngFila As Long
    'fila de la primera celda vacía en columna B'
    lngFila = Sheets("Nombre_hoja").Range("B" & Sheets("Nombre_hoja").Rows.Count).End(xlUp).Row + 1
    'Unir celdas'
    Sheets("Nombre_hoja").Range("E" & lngFila & ":F" & lngFila + 4).Merge
End Sub

S@lu2

Debes reemplazar Nombre_hoja por el nombre de tu hoja

Muchas gracias, me esta funcionando, solo que el conteo de encontrar la celda vacía, según veo es de abajo para arriba, y necesito que sea de B19 para abajo, podrías ayudarme a codificarlo.

Lo que requieres es que se encuentre la primera celda vacía después de la última celda con datos ¿O me equivoco?

Si no estoy equivocado, entonces ese código te servirá para cualquier caso. Sí la celda B19 o cualquiera posterior a esa tiene un valor, no entiendo el problema. A no ser que estés comenzando con la columna B en blanco.

Ahí me comentas.

Si lo que pasa es que en la columna B tengo ingresado datos de la B1 a la B18, entonces necesito que me ubique la B19 de arriba para abajo, porque en la B900, le tengo otro tipo de información de validación, entonces el código me lo esta ejecutando pero en la  en la E901:E904 porque la ultima que encontró fue en la B900, yo intente cambiarle en vez de (xlUp), por el (xlDown) pero me marca el error 1004, disculpa si no me he dado a entender bien, y agradezco tu ayuda.

Ah, perfecto, entonces puedes probar lo siguiente

Sub unir()
'por GP'
    Dim lngFila As Long
    'fila de la primera celda vacía en columna B'
    lngFila = Sheets("Nombre_hoja").Range("B895").End(xlUp).Row + 1
    'Unir celdas'
    Sheets("Nombre_hoja").Range("E" & lngFila & ":F" & lngFila + 4).Merge
End Sub

Con eso, parte buscando desde la fila 895 hacia arriba, así el máximo valor que tomará en F es 899.

S@lu2

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas