determinar un rango

21/10/2006 - 23:38 por leonardo | Informe spam
necesito determinar un rango de celdas que esté comprendido entre dos celdas
que tienen valores determinados.
Ejem
serieA
n1
n2
n3
.
.
.
nx
serieB

quiero que me dé el rango entre las palabras serieA y serieB ó contar
cuántas celdas hay entre ellas
La cuestión es que quiero hacer un macro para realizar una operación entre
esas series pero el usuario puede agregar filas entre ellas.
¿fui claro?
 

Leer las respuestas

#1 zz
22/10/2006 - 00:12 | Informe spam
Y si en lugar de determinar un rango no haces un bucle que lea todas las
celdas con valores

algo asi como:

Private Function leer_Celdas()
Dim firstcell As String 'esta sera la primera celda del rango
Dim lastcell As String ' y esta la ultima
Dim str_range As String 'aqui vas a guardar el nombre del rango
compuesto por la primera celda y la ultima celda

Range("a1").Activate 'aqui pones la celda de donde
quieres empezar a leer

firstcell = ActiveCell.Address ' y la guardas dentro de la
variable firstcell

Do Until ActiveCell.Value = "" 'este es el bucle que "lee" todas
las celdas con valores
ActiveCell.Offset(1, 0).Activate 'mas bien las recorre y verifica
que no tengan el valor "" o vbnull
Loop


lastcell = ActiveCell.Offset(-1, 0).Address ' aqui seleccionamos la
celda anterior ya que es la ultima que tiene valores
str_range = firstcell & ":" & lastcell ' las unimos para crear el rango
compuesto
leer_Celdas = str_range ' y le asignamos el valor a la funcion
End Function



asi es como yo uso la función

private sub correr

leer_celdas
msgbox myrange.address

end sub

"leonardo" wrote in message
news:e4z$b$
necesito determinar un rango de celdas que esté comprendido entre dos
celdas
que tienen valores determinados.
Ejem
serieA
n1
n2
n3
.
.
.
nx
serieB

quiero que me dé el rango entre las palabras serieA y serieB ó contar
cuántas celdas hay entre ellas
La cuestión es que quiero hacer un macro para realizar una operación entre
esas series pero el usuario puede agregar filas entre ellas.
¿fui claro?


Preguntas similares