Hola
Para seleccionar en código un rango de celdas, se usa RANGE("A1:C3") (por ejemplo)
En mi caso, tengo que seleccionar una serie de celdas en la misma fila, pero el número de celdas depende de unos resultados de cálculos. Es decir, conozco la primera celda del rango, pero no la última, que debe ser seleccionada dinámicamente.
¿cómo se hace esto?
He probado algo así como RANGE("E3:"&activecell.column&"3") pero, lógicamente, me dice "que si quieres arroz, Catalina".
Saludos
Puedes definir el rango con dos celda, la inicial y la final
algo como esto Range("A1","C3")
por otra parte, puedes referirte a una celda a partir del número de fila y número de columna mediante Cells(nºfila,nºcolumna)
así que puedes referirte a tu rango con algo parecido a esto:
Range("a1", Cells(3, ActiveCell.Column))
------
Ya sé Excel, pero necesito más.
Muchas gracias. Pensaba que con "Range" había que utilizar los dos puntos para hacer un rango entero, y que si se ponía como tú comentas sólo seleccionaba las celdas A1 y C3.
Buen avance. Lo había resuelto de manera un pelín más complicada:
Range(ActiveCell.Address() & ":" & ActiveCell.Offset(0, 22 - Range("B22").Value - Range("B25").Value - 1).Address()).Merge
Probablemente con tu notación se simplificaría ligeramente:
Range(ActiveCell.Address(),ActiveCell.Offset(0, 22 - Range("B22").Value - Range("B25").Value - 1).Address()).Merge
Teniendo en cuenta que el parámetro de Range debe ser un texto (por eso va entre comillas) o una dirección en formato macro (así le llaman los de Microsoft... )
Por cierto, ya sé que no te gustan las celdas combinadas, pero qué se le va a hacer... me quedan cojonudas, jaja.
Saludos
me alegro que funcione.
y sí, me salen manchas en la piel cuando veo celdas combinadas,
pero cada vez son menos intensas, supongo que poco a poco es como un tratamiento para la alergia.
------
Ya sé Excel, pero necesito más.