Office - Seleccionar un rango Variable con VB en Excel

 
Vista:
sin imagen de perfil

Seleccionar un rango Variable con VB en Excel

Publicado por Patricio (4 intervenciones) el 31/05/2006 23:13:34
Amigos, por favor si me pueden ayudar.
Tengo el siguiente código escrito en el editor de VB para Excel:

Sub Prueba()

Dim Prueba As Integer
Dim Inicio As Integer

Inicio = 3
Prueba = 24
Range("A2:A" & Prueba).Select

End Sub

Lo único que hace esto es que Excel me seleccione desde las celdas A2 a la A24 (variable Prueba).

Lo que deseo finalmente es que en Excel me seleccione desde la celda A3 (variable Inicio) hasta la A24 (variable Prueba). Obviamente estas variables acá están ya asignadas, pero la idea es que se les asignen valores variables en el tiempo. Por ende, que Excel me seleccione desde la celda Ax hasta la celda Ay dependiendo del momento.

No encuentro la forma de escribir correctamente la sintaxis del código. El que se ve en el ejemplo funciona, ya que concatena el valor 24 con la segunda parte de la instrucción (:A" & Prueba)). Pero no puedo colocar ("A & Inicio:A" & Prueba) porque el compilador me arroja error. No se me ocurre como hacerlo de manera correcta.

Si alguien sabe cómo se hace, por favor me ayude.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Seleccionar un rango Variable con VB en Excel

Publicado por JuanC (34 intervenciones) el 01/06/2006 01:06:00
Espero que esta "plantilla" te sirva de algo...

Dim rng As Excel.Range
Dim x&, y&

x = 3: y = 24

Set rng = Range("A" & x & ":A" & y)

With rng
.Select
End With

Set rng = Nothing

Saludos desde Baires, JuanC

PD: la próxima preguntá en el foro de VBA!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Seleccionar un rango Variable con VB en Excel

Publicado por Patricio (4 intervenciones) el 02/06/2006 21:43:00
Gracias por tu ayuda. Efectivamente resulta sin problemas para cualquier rango variable que quiera seleccionar.

Ahora necesito otra ayuda:

sobre el mismo rango seteado en la variable rng necesito aplicar una suma en alguna otra celda activa. Intenté de la siguiente forma pero no resulta:

ActiveCell.Formula = "=SUM(rng)"

Obviamente no asume la variable rng dentro del los paréntesis. Si el código dice así

ActiveCell.Formula = "=SUM(A4:A14)"

Ahí si toma el rango y escribe la fórmula en la celda que le indiqué.

¿Cómo se puede resolver?

Acá está el código original de ejemplo que me indicaron.

Dim rng As Excel.Range
Dim x&, y&

x = 4: y = 14
Set rng = Range("A" & x & ":A" & y)
With rng
.Select
End With
Set rng = Nothing
Range("A16").Select

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Seleccionar un rango Variable con VB en Excel

Publicado por JuanC (34 intervenciones) el 03/06/2006 01:44:20
ActiveCell.Value = "=SUM(" & rng.Address(0, 0) & ")"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Seleccionar un rango Variable con VB en Excel

Publicado por Patricio (4 intervenciones) el 05/06/2006 19:26:24
Gracias por la respuesta:

Al aplicar esa sentencia tal cual está escrita, me deja en la celda activa la fórmula =Suma(A:A), pero no =Suma(A3:A24), como fue asignado el Rango rng.

¿Debo modificar algo de esa sentencia para lograr ese objetivo?

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Seleccionar un rango Variable con VB en Excel

Publicado por Patricio (4 intervenciones) el 05/06/2006 19:30:47
Amigos:

Retiro la pregunta, ya que fue un error mío de asignación de variables. Funciona a la perfección, así que agradezco enormemente la ayuda entregada por ustedes.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Seleccionar un rango Variable con VB en Excel

Publicado por genaro (1 intervención) el 20/07/2006 02:04:46
lo que pasa es que tienes que cerrar las comillas
asi:
("A" & Inicio ":A" & Prueba)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Seleccionar un rango Variable con VB en Excel

Publicado por jorge (1 intervención) el 28/05/2008 00:13:21
Hola pk no intentas range(cells(a,b),cells(d,e)) y declaras como variables a,b,c,d

Sub Prueba()

Dim Prueba As Integer
Dim a, b, c, d As Integer

a = 1 ' columna a
b = 3 ' fila 3
c = 1 ' columna a
d = 5 ' fila 5

Hoja1.Range(Cells(a, b), Cells(c, d)).Select

End Sub

espero te ayude
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Seleccionar un rango Variable con VB en Excel

Publicado por Seleccionar rango en VBA variable (1 intervención) el 30/07/2014 14:47:33
Buenos días,

Amigos, alguien me podra ayudar,

Necesito seleccionar y sumar un rango de datos variables, es decir, el valor inicial y final cambian, se que el valor inicial es determinado por el nombre Global en la celda y la final es el final de la lista de datos

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Seleccionar un rango Variable con VB en Excel

Publicado por Hugo (1 intervención) el 09/09/2017 06:42:53
Hola, buenas noches a todos!

En principio, agradezco al amigo Jorge en su respuesta del 28/05/2008, así como también a los demás amigos que tienen la gentileza de brindar al resto su colaboración, compartiendo sus experiencias y parte de su valioso tiempo.

En concreto, sobre el código que comparte en concepto de respuesta, deseo aclarar y consultar:

A) entiendo que se comete un error involuntario en: a = 1 ' columna a, b = 3 ' fila 3, c = 1 ' columna a, d = 5 ' fila 5. Debería ser:: a = 1 'fila 1, b = 3 'columna 3, c = 1 ' fila 1, d = 5 ' columna 5.

B) en la línea: Hoja1.Range(Cells(a, b), Cells(c, d)).Select, si bien funciona ¿no debería utilizarse Worksheets previo a Hoja1?

Desde ya, quedo agradecido por permitirme intervenir y quedo a la espera de alguna respuesta. Cordial Saludo a todos!

Hugo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Seleccionar un rango Variable con VB en Excel

Publicado por Andrés Ramírez (1 intervención) el 11/07/2018 14:18:24
Hola. He utilizado los métodos descritos para asignar un valor a un rango, pero me sale error. la linea utilizada fue esta.

libroplanilla.Sheets(sheetname2).Range(Cells(ab, 110), Cells(ac, 110)).Value = 21

No he podido encontrar el erroe. Las variables estan declaradas como Integer.

Les agradezco si alguien puede ayudarme

slds.

Andres
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar