propiedad value para un rango

23/05/2005 - 15:49 por Charles | Informe spam
Hola, estoy haciendo una macro donde tengo un rago de tres columnas y varias
filas, llegado un momento preciso saber si en una fila entera de dicho rango
(o sea tres celdas) tienen algún número (solo numeros van en este rango) por
lo que utilizo la propiedad value y lo quiero almacenear en mi variable
"mirango"

mirango = Range("Tarjetas").Rows(j).Value

pero cuando paso por esta sentencia nada almacena, en cambio si sustituyo
rows(j) por cells(j) ahí la variable mirango almacena, ¿ no se puede tomar
toda una fila y ver si tiene algún valor con la propiedad value ?

muchas gracias

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
23/05/2005 - 16:32 | Informe spam
"Charles" escribió en el mensaje news:
Hola, estoy haciendo una macro donde tengo un rago de tres columnas y varias
filas, llegado un momento preciso saber si en una fila entera de dicho rango
(o sea tres celdas) tienen algún número (solo numeros van en este rango) por
lo que utilizo la propiedad value y lo quiero almacenear en mi variable
"mirango"

mirango = Range("Tarjetas").Rows(j).Value

pero cuando paso por esta sentencia nada almacena, en cambio si sustituyo
rows(j) por cells(j) ahí la variable mirango almacena, ¿ no se puede tomar
toda una fila y ver si tiene algún valor con la propiedad value ?

muchas gracias



No entiendo bien qué es lo que necesitas. Si se trata de impedir que se pueda introducir en esas celdas algo que no sea un número, quizás lo mejor sería atacar el problema de forma preventiva, usando una validación (Datos > Validación).

En cualquier caso y hasta donde yo sé, no es posible obtener la propiedad Value de un rango de varias celdas, aunque sí es posible poner en un rango de varias celdas un valor usando esta misma propiedad.
Un saludo.


Fernando Arroyo
MS MVP - Excel
www.excelesp.com
Respuesta Responder a este mensaje
#2 Charles
23/05/2005 - 16:48 | Informe spam
perdón por no exponer claramente mi consulta.
en el rango ya está la validación que sea solo numérico.
el problema es que quiero tomar una fila de ese rango y saber si tiene algún
valor (está dentro de un bucle dicha comprobación), como varía el índice que
tengo (j) quiero ir revisando todas las filas del rango y como son tres
columnas (por lo tanto 3 celdas) quiero usar rows(j).value, pero como tú
dices no se aplica value, entonces debería utilizar una función suma o algo
por el estilo.


"Fernando Arroyo" escribió:

"Charles" escribió en el mensaje news:
> Hola, estoy haciendo una macro donde tengo un rago de tres columnas y varias
> filas, llegado un momento preciso saber si en una fila entera de dicho rango
> (o sea tres celdas) tienen algún número (solo numeros van en este rango) por
> lo que utilizo la propiedad value y lo quiero almacenear en mi variable
> "mirango"
>
> mirango = Range("Tarjetas").Rows(j).Value
>
> pero cuando paso por esta sentencia nada almacena, en cambio si sustituyo
> rows(j) por cells(j) ahí la variable mirango almacena, ¿ no se puede tomar
> toda una fila y ver si tiene algún valor con la propiedad value ?
>
> muchas gracias

No entiendo bien qué es lo que necesitas. Si se trata de impedir que se pueda introducir en esas celdas algo que no sea un número, quizás lo mejor sería atacar el problema de forma preventiva, usando una validación (Datos > Validación).

En cualquier caso y hasta donde yo sé, no es posible obtener la propiedad Value de un rango de varias celdas, aunque sí es posible poner en un rango de varias celdas un valor usando esta misma propiedad.
Un saludo.


Fernando Arroyo
MS MVP - Excel
www.excelesp.com

Respuesta Responder a este mensaje
#3 Fernando Arroyo
23/05/2005 - 17:31 | Informe spam
Por ejemplo, para hacer algo dependiendo de si al menos una de las tres celdas de cada fila en el rango Hoja1!A1:C10 tiene un valor o ninguna lo tiene, el código podría ser:

Sub prueba()
Dim n As Byte
With Worksheets("Hoja1")
For n = 1 To .Range("A1:C10").Rows.Count
If WorksheetFunction.CountA(.Range("A1:C10").Rows(n)) <> 0 Then
'
'Código para el caso de que alguna celda del rango tenga un valor
'
Else
'
'Código para el caso de que ninguna celda tenga un valor
'
End If
Next n
End With
End Sub


Un saludo


Fernando Arroyo
MS MVP - Excel
www.excelesp.com


"Charles" escribió en el mensaje news:
perdón por no exponer claramente mi consulta.
en el rango ya está la validación que sea solo numérico.
el problema es que quiero tomar una fila de ese rango y saber si tiene algún
valor (está dentro de un bucle dicha comprobación), como varía el índice que
tengo (j) quiero ir revisando todas las filas del rango y como son tres
columnas (por lo tanto 3 celdas) quiero usar rows(j).value, pero como tú
dices no se aplica value, entonces debería utilizar una función suma o algo
por el estilo.


Respuesta Responder a este mensaje
#4 Charles
23/05/2005 - 19:31 | Informe spam
un millón de gracias Fernando, realmente aprendo bastante contigo


"Fernando Arroyo" escribió:

Por ejemplo, para hacer algo dependiendo de si al menos una de las tres celdas de cada fila en el rango Hoja1!A1:C10 tiene un valor o ninguna lo tiene, el código podría ser:

Sub prueba()
Dim n As Byte
With Worksheets("Hoja1")
For n = 1 To .Range("A1:C10").Rows.Count
If WorksheetFunction.CountA(.Range("A1:C10").Rows(n)) <> 0 Then
'
'Código para el caso de que alguna celda del rango tenga un valor
'
Else
'
'Código para el caso de que ninguna celda tenga un valor
'
End If
Next n
End With
End Sub


Un saludo


Fernando Arroyo
MS MVP - Excel
www.excelesp.com


"Charles" escribió en el mensaje news:
> perdón por no exponer claramente mi consulta.
> en el rango ya está la validación que sea solo numérico.
> el problema es que quiero tomar una fila de ese rango y saber si tiene algún
> valor (está dentro de un bucle dicha comprobación), como varía el índice que
> tengo (j) quiero ir revisando todas las filas del rango y como son tres
> columnas (por lo tanto 3 celdas) quiero usar rows(j).value, pero como tú
> dices no se aplica value, entonces debería utilizar una función suma o algo
> por el estilo.
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida