He creado una macro en excel que me permite imprimir un rango por al introducirle por eje. A2:ae58 pero esto puede variar, necesito esteblecer un nombre al rango pero que sea numérico no texto. Y que siempre me imprima el rango por que yo desee no constante si no variable De antemano muchas gracias por su ayuda
1 Respuesta
Respuesta de fejoal
1
1
fejoal, Por falta de tiempo para responder como me gusta hacerlo suspendo...
Recién vuelto de mi fin de semana (largo, aquí) vi la pregunta que planteaste, supongo, el pasado viernes. Si logré entenderla correctamente, creo que esta forma de referenciar rangos resolvería tu problema. Range("A1"). Cells(Fila, Columna) Esta instrucción será el equivalente a la celda A1 cuando Fila y Columna valgan 1 Así: Range("A1").Cells(1,1).Select ... selecciona la celda A1 Si tuvieras Range("A1").Cells(1,2).Select ... se activará la celda A2 En este caso que el rango de referencia es A1, la sentencia anterior es equivalente a Cells(1,2).Select Pero, de hecho, puedes variar "A1" por otra referencia que pasará a ser el nuevo punto de partida para contar las celdas indicadas en las variables Fila y Columna Desde luego, estas instrucciones hacen referencia a una única celda, no a un rango. En VBA para definir un rango debes indicarle las direcciones de la celda superior izquierda y de la inferior derecha. En este ejemplo verás como puedes hacer referencia a un rango utilizando números: Sub SeleRango() CeldaRef = "A2" FilaInf = 58 ColDer = 4 Range(Range(CeldaRef), Range(CeldaRef).Cells(FilaInf, ColDer)).Select End Sub Como verás basta la celda inicial y la cantidad de filas y columnas a partir desde la cual considerar el rango. En el ejemplo, los valores están ingresados a mano, pero tranquilamente podrían resultar de una función que cuente las líneas ocupadas, como por ejemplo: Filas = Range(CeldaRef).CurrentRegion.Rows.Count Esta cuenta la cantidad de filas del rango a que la celda de referencia pertenece y, de hecho, variará según crezca o disminuya su extensión. °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° A cambio de mi tiempo, sólo te pido dos cosas: - Finaliza (con puntaje y comentario) esta pregunta - Ingresa al sitio www.porloschicos.com y, si quieres, presiona el botón de donación (es gratis). Confío en que lo harás.