Como encontrar la ultima columna con numero

Estimados quisiera poder buscar la ultima columna con numero en un rango de A8:X8, lo que pasa es que si ocupo la x1toright me dirige hasta el ultimo dígito y todas mis columnas tienen fórmulas por lo cual me dirige hasta el ultimo dato escrito en esa fila que no quiero que escriba, pero les digo que aparezca vacío cuando no cumple con la función

 C = Cells(8, 1).End(xlToRight).Column
    letra = Evaluate("=SUBSTITUTE(ADDRESS(1," & C - 4 & ",4),""1"","""")")
    If C > 5 Then
       Columns("B" & letra).EntireColumn.Hidden = True

Por ejemplo en este caso lo que yo quiero que me seleccione es la columna H7 y el dato seleccionado que me agrega excel es uno mucho mayor. ¿Cómo lo podría hacer?. ¿Quizás podría ocupar la fila cinco que tiene ingresadas las fechas del mes y que me busque la fecha del día de hoy?

1 Respuesta

Respuesta
1

El problema esta en que la variable c = Cells(8, 1).End(xlToRight). Column cuenta también las celdas con fórmulas por eso no te da el resultado que quieres solo tienes que restar las celdas que aparentemente están vacías con eta variable c = Cells(8, 1).End(xlToRight). Column - 2 y listo

Estimado lo que pasa es que la columna va cambiando día a día, por que le puse una restricción que si estamos por ejemplo a 12 de diciembre me calcule esa columna donde esta escrita el 12 de Diciembre de ahí a las fechas que anteriores. Por eso pensaba que en la fila 5 se podría hacer un select donde me desde la celda 5.1 hasta la celda que tenga la fecha del día de hoy para que me realice la función. El tema es que no sabría como hacer ese select. Quedo atento a tus comentarios.

En la imagen puedes ver el resultado de la macro, la macro lee la fecha actual y luego la busca en la fila 5, si la encuentra entonces colorea de rojo esa fecha

y este es el código, si no quieres el color rojo solo borra la línea que empieza con selection

Sub encontrar_ultima_columna()
fecha = Date
ncol = Range("a5").CurrentRegion.Columns.Count
col = WorksheetFunction.Match(CDbl(fecha), Range("b5").Resize(1, ncol), 0)
c = Range("a5").Columns(col).Select
Selection.Interior.ColorIndex = 3
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas