Visual Basic para Aplicaciones - Ayuda en la instrucción

Life is soft - evento anual de software empresarial
 
Vista:

Ayuda en la instrucción

Publicado por JordiMes (2 intervenciones) el 27/05/2019 13:54:47
En "Hoja1", celda "H1", introduzco la variable a referirme de otra hoja "Hoja2" (ej: C1)

..."Hoja1", Celda "H1" = C1 (valor)

...y quiero que se active y seleccione la otra hoja "Hoja2" y la celda indicada en la "H1" de la "Hoja1", que és C1.

En la propia hoja si se me cumplela instrucción de:

Dim Ir_Celda As String

Ir_Celda = Range("H1").Value

Range(Ir_Celda).Activate.

...hasta aquí muy bien, pero si hago referencia a la otra hoja, no se me cumple.

Sheets("Hoja2"). Select

Range(Ir_Celda).Activate.

¿Cual es mi error?

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
Imágen de perfil de Manuel
Val: 6
Ha aumentado su posición en 4 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Ayuda en la instrucción

Publicado por Manuel (3 intervenciones) el 27/05/2019 14:12:58
Con Sheet puedes especificar a que hoja quieres ir... y bien, ahí puedes usar un valor contenido en una celda... Pero la forma de que pase a ser la activa es:
Sheets("Hoja2").Select

como haces tu. Pero si lo que quieres es mirar concentido concreto de otras hojas, pues yo usaría la forma:
Workbooks("Libro1.xlsm").Sheets("Sheet1").Cells(7, 6)
Así estás especificando tanto hoja y las celdas concretas (también el libro, pero esa parte puedes no ponerla y se entenderá el activo).

Aunque en teoría con la forma: Sheets("hoja2").Select Range("C8").Select también debería funcionarte bien.

Y también podría recurrir a ActiveSheet: ActiveSheet.Cells(8, 3).Select
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

Ayuda en la instrucción

Publicado por JordiMes (2 intervenciones) el 28/05/2019 07:47:10
Muchas Gracias Manuel por tu interés y el aporte ofrecido, pero mi dificultad está un paso más allá.
Como puedes apreciar, hay un Dim declarado llamado "Ir_Celda" (String) que es el encargado de indicarle qué coordenadas han de ser de la celda (B7, o T4, o C2, etc...). Y como bien indico, en la propia página si cumple la instrucción ("Range(Ir_Celda).Activate"), pero al referirnos a otra hoja ("Sheets("hoja2").Select Range(Ir_Celda).Select"), no se cumple.
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
Imágen de perfil de FernandoML
Val: 40
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Ayuda en la instrucción

Publicado por FernandoML (11 intervenciones) el 30/05/2019 00:21:33
Hola, has probado de esta manera?

Sheets("Hoja2"). Select
Sheets("Hoja2").Range(Ir_Celda).Activate

Espero te sirva
Un Saludo
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
Imágen de perfil de MIGUEL
Val: 424
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Ayuda en la instrucción

Publicado por MIGUEL (121 intervenciones) el 30/05/2019 16:58:48
Buenas Jordi

De esta forma trabajaría bien

1
2
3
4
Dim ir_celda as string
Ir_celda=sheets("Hoja1"). Range("H1")
Sheets("Hoja2"). activate
Sheets("Hoja2"). Range(ir_celda). Select

Saludos
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