Referencia a Hojas por numero con "Application.WorksheetFunction"

24/01/2007 - 18:45 por Sho mismo | Informe spam
Buenas,

Estoy tratando de preparar un evento, que adecua el material de una
hoja de cerramiento (CAPA_MURO_MAT) con el primer objeto de una lista
(CAPA_MURO_MAT_BD), que varía si se varía la Familia del material en
otro desplegable (CAPA_MURO_FAM). esto es básicamente lo que hace y
funciona bien tal y como indico a continuacion:

If Target.Address = Range("CAPA_MURO_FAM").Address Then
ActiveSheet.Range("CAPA_MURO_MAT").Value Application.WorksheetFunction _
.Index(Sheets("BD_MC_LIDER").Range("CAPA_MURO_MAT_BD"), 1)
End If

Lo que no consigo ni de cola, es establecer la direccion de la hoja
que contiene los datos Sheets("BD_MC_LIDER") con su numero de hoja, en
lugar del nombre, del tipo Sheets(3).
He comprobado que con otro tipo de rutinas funciona bien, pero en este
caso no, y no se como arreglarlo.

Un saludo, y gracias por adelantado,
Carlos

Preguntas similare

Leer las respuestas

#1 Francisco M
25/01/2007 - 19:53 | Informe spam
si he entendido bien, tu necesitas retornar el valor del indice de la hoja?
o no?
bueno, si es así puedes verlo con:
x = sheets("BD_MC_LIDER").index

"Sho mismo" escribió en el mensaje
news:
Buenas,

Estoy tratando de preparar un evento, que adecua el material de una
hoja de cerramiento (CAPA_MURO_MAT) con el primer objeto de una lista
(CAPA_MURO_MAT_BD), que varía si se varía la Familia del material en
otro desplegable (CAPA_MURO_FAM). esto es básicamente lo que hace y
funciona bien tal y como indico a continuacion:

If Target.Address = Range("CAPA_MURO_FAM").Address Then
ActiveSheet.Range("CAPA_MURO_MAT").Value Application.WorksheetFunction _
.Index(Sheets("BD_MC_LIDER").Range("CAPA_MURO_MAT_BD"), 1)
End If

Lo que no consigo ni de cola, es establecer la direccion de la hoja
que contiene los datos Sheets("BD_MC_LIDER") con su numero de hoja, en
lugar del nombre, del tipo Sheets(3).
He comprobado que con otro tipo de rutinas funciona bien, pero en este
caso no, y no se como arreglarlo.

Un saludo, y gracias por adelantado,
Carlos
Respuesta Responder a este mensaje
#2 Sho mismo
26/01/2007 - 09:53 | Informe spam
Por fin lo conseguí, aunque sea probando de todo...
En realidad trato de referirme a esa hoja con su numero, de manera que
no interfiriera en su funcionamiento el que alguien decidiera cambiar
su nombre.
Era un problema de "gramática", que he conseguido solucionar con la
siguiente expresion:

ActiveSheet.Range("CAPA_MURO_MAT").Value Application.WorksheetFunction _
.Index([Hoja42].Range("CAPA_MURO_MAT_BD"), 1)

Me tenia perdido lo del Sheets(42), que no funionaba ni a tiros, pero
que funciona con [Hoja42], supongo que será cuestion del idioma o
así.
No entiendo como no existe una gramática única con estas cosas, pero
es otra historia...
Gracias de todas formas.
Un saludo

On 25 ene, 19:53, "Francisco M" wrote:
si he entendido bien, tu necesitas retornar el valor del indice de la hoja?
o no?
bueno, si es así puedes verlo con:
x = sheets("BD_MC_LIDER").index

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