Macros en excel

18/04/2008 - 10:34 por Ira | Informe spam
Hola,

Tengo una macro en excel que funciona perfectamente en todos los pcs menos
en dos.
Les he instalado todas las actualizaciones del office pero no va. He vuelto
a reinstalar office y tampoco. Estoy usando excel 2000.

La macro es esta:

Private Sub Worksheet_Activate()
With Sheets("Introducción Datos")
LblFecha.Caption = .Range("Fecha")
LblNPedido.Caption = .Range("NPedido")
LblCliente.Caption = .Range("Cliente")
LblMaxCarga1.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga2.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga3.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga4.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga5.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga6.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga7.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga8.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga9.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCargaModulo.Caption = .Range("MaxCargaCalle") & " kg" & vbCrLf &
"MAX. CARGA CALLE"
LblAlturaNivel1.Caption = .Range("AlturaNivel1") & " mm"
LblAlturaNivel2.Caption = .Range("AlturaNivel2") & " mm"
LblNNiveles.Caption = "NIVEL " & .Range("NNiveles")
End With
End Sub

Y en los dos pcs que no me funcionan en la 3 linea me aparece 'No se
requiere el objeto'.
Los archivos son los mismos para todos porque están en una carpeta en red.

¿Alguna idea?.

Gracias

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
22/04/2008 - 00:38 | Informe spam
hola, (...) ???

-Si suprimo la línea 3, falla la 4, si suprimo la 4, falla la 5.
-En las referencias del vba, está todo como en otros pcs que si funciona.
- El mensaje es exactamente el siguiente:
Se ha producido el error '424' en tiempo de ejecucion:
Se requiere un objeto
Alguna pista mas?



1) es diferente el mensaje de error en esta ampliacion de detalles:
"... error '424' en tiempo de ejecucion: Se requiere un objeto"
del que habias comentado inicialmente: "... No se requiere el objeto" :-((

2) me parece un poco "raro" el codigo que expones (trato de explicarme)...
a) esta en el evento de activacion de alguna hoja (seria conveniente si comentas "el nombre" de esa hoja)
b) haces referencia a rangos en la hoja "introduccion de datos" para actualizar la propiedad ".Caption" de...
c) mencionas objetos cuyos nombres inician con "Lbl" (como si se tratara de controles Label de UserForms)

3) si el mensaje "dice" que "SE REQUIERE UN OBJETO", cabe la posibilidad de que "el objeto" no este presente o visible -???-
pero NO mencionas si se trata de algun formulario de usuario ni el porque del evento '_activate' en alguna hoja -???-

creo que existe aun alguno que otro detalles "en el tintero", asi que...
si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.


__ las consultas anteriores __
Tengo una macro en excel que funciona perfectamente en todos los pcs menos en dos.
Les he instalado todas las actualizaciones del office pero no va.
He vuelto a reinstalar office y tampoco. Estoy usando excel 2000. (...)
Y en los dos pcs que no me funcionan en la 3 linea me aparece 'No se requiere el objeto'.
Los archivos son los mismos para todos porque están en una carpeta en red.
Alguna idea?...



en las pc's donde falla este codigo...

- si suprimes la linea 3... el resto de lineas se ejecutan sin problema ???

- revisa en el editor de vba, desde (menu) herramientas / referencias
si existe alguna marcada como FALTA:xxx o MISSING:xxx

- tambien podrias comentar (de preferencia +/- exactamente) el numero y texto completo del mensaje del error

__ el codigo expuesto __
La macro es esta:
Private Sub Worksheet_Activate()
With Sheets("Introducción Datos")
LblFecha.Caption = .Range("Fecha")
LblNPedido.Caption = .Range("NPedido")
LblCliente.Caption = .Range("Cliente")
LblMaxCarga1.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga2.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga3.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga4.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga5.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga6.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga7.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga8.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga9.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCargaModulo.Caption = .Range("MaxCargaCalle") & " kg" & vbCrLf & "MAX. CARGA CALLE"
LblAlturaNivel1.Caption = .Range("AlturaNivel1") & " mm"
LblAlturaNivel2.Caption = .Range("AlturaNivel2") & " mm"
LblNNiveles.Caption = "NIVEL " & .Range("NNiveles")
End With
End Sub
Respuesta Responder a este mensaje
#2 Ira
22/04/2008 - 09:03 | Informe spam
Hola Héctor,

El código no puede ser erróneo porque exactamente el mismo fichero (no una
copia, si no exactamente el mismo fichero) se abren y funciona perfectamente
la macro en unos 20 pcs excepto en 2.

2)
a) El nombre de la hoja en la que está el código se llama "Compacta". O sea
que cuando se activa la hoja "Compacta" se ejecuta el código y se cogen
datos de la otra hoja que existe en el libro que se llama ("Introducción de
datos")
b) Efectivamente
c) Efectivamente

Gracias Héctor,

IRA



"Héctor Miguel" escribió en el mensaje
news:
hola, (...) ???

-Si suprimo la línea 3, falla la 4, si suprimo la 4, falla la 5.
-En las referencias del vba, está todo como en otros pcs que si funciona.
- El mensaje es exactamente el siguiente:
Se ha producido el error '424' en tiempo de ejecucion:
Se requiere un objeto
Alguna pista mas?



1) es diferente el mensaje de error en esta ampliacion de detalles:
"... error '424' en tiempo de ejecucion: Se requiere un objeto"
del que habias comentado inicialmente: "... No se requiere el objeto"
:-((

2) me parece un poco "raro" el codigo que expones (trato de explicarme)...
a) esta en el evento de activacion de alguna hoja (seria conveniente si
comentas "el nombre" de esa hoja)
b) haces referencia a rangos en la hoja "introduccion de datos" para
actualizar la propiedad ".Caption" de...
c) mencionas objetos cuyos nombres inician con "Lbl" (como si se
tratara de controles Label de UserForms)

3) si el mensaje "dice" que "SE REQUIERE UN OBJETO", cabe la posibilidad
de que "el objeto" no este presente o visible -???-
pero NO mencionas si se trata de algun formulario de usuario ni el
porque del evento '_activate' en alguna hoja -???-

creo que existe aun alguno que otro detalles "en el tintero", asi que...
si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.


__ las consultas anteriores __
Tengo una macro en excel que funciona perfectamente en todos los pcs
menos en dos.
Les he instalado todas las actualizaciones del office pero no va.
He vuelto a reinstalar office y tampoco. Estoy usando excel 2000. (...)
Y en los dos pcs que no me funcionan en la 3 linea me aparece 'No se
requiere el objeto'.
Los archivos son los mismos para todos porque están en una carpeta en
red.
Alguna idea?...



en las pc's donde falla este codigo...

- si suprimes la linea 3... el resto de lineas se ejecutan sin problema
???

- revisa en el editor de vba, desde (menu) herramientas / referencias
si existe alguna marcada como FALTA:xxx o MISSING:xxx

- tambien podrias comentar (de preferencia +/- exactamente) el numero y
texto completo del mensaje del error





__ el codigo expuesto __
La macro es esta:
Private Sub Worksheet_Activate()
With Sheets("Introducción Datos")
LblFecha.Caption = .Range("Fecha")
LblNPedido.Caption = .Range("NPedido")
LblCliente.Caption = .Range("Cliente")
LblMaxCarga1.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga2.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga3.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga4.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga5.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga6.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga7.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga8.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCarga9.Caption = .Range("MaxCarga") & " kg" & vbCrLf & "MAX"
LblMaxCargaModulo.Caption = .Range("MaxCargaCalle") & " kg" & vbCrLf
& "MAX. CARGA CALLE"
LblAlturaNivel1.Caption = .Range("AlturaNivel1") & " mm"
LblAlturaNivel2.Caption = .Range("AlturaNivel2") & " mm"
LblNNiveles.Caption = "NIVEL " & .Range("NNiveles")
End With
End Sub








Respuesta Responder a este mensaje
#3 Héctor Miguel
22/04/2008 - 14:22 | Informe spam
hola, (...) ???

El codigo no puede ser erroneo porque exactamente el mismo fichero
(no una copia, si no exactamente el mismo fichero)
se abren y funciona perfectamente la macro en unos 20 pcs excepto en 2.



1) (a mi me pareciera que) es muy claro que en "esas" 2 pc's (donde falla)... hay "algo"...
que no acaba de ser (exactamente) igual que en las otras (donde si funciona)
- en la instalacion, permisos/derechos/restricciones del usuario, ???
- librerias "perdidas" o que esten "en conflicto" con otros proyectos de macros, ???

2) que me dices con respecto de la (re)pregunta 3 ?...
"> si el mensaje "dice" que "SE REQUIERE UN OBJETO""
" cabe la posibilidad de que "el objeto" no este presente o visible -???-"
" pero NO mencionas si se trata de algun formulario de usuario"
" ni el porque del evento '_activate' en alguna hoja -???-"

si se trata de un userform, por que actualizas los caption de sus controles en el evento de una hoja ?
- estas mostrando el formulario como "no modal" de forma que puedas interactuar con las hojas ?
- cuando activas la hoja, ya esta visible (o cargado en memoria) el formulario ?

-> prueba "calificando" la referencia a los controle con el nombre del formulario (p.e.)
de: -> LblFecha.Caption = .Range("Fecha")
a: -> <formulario>.LblFecha.Caption = .Range("Fecha")

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida