Llamar a formulario de otra hoja

11/11/2005 - 04:08 por klokmkbock | Informe spam
Hola a todos, a ver si me podéis ayudar.

Querría que me apareciese un formulario de una hoja si meto datos erróneos
o inexistentes en otra hoja vinculada a ella, previo aviso del error y
pregunta de si deseo crearlo.

Pej: si meto un código de articulo en una hoja de pedido y el código no
existe en la hoja de listado de artículos, que me avise y me de la opción
de crearlo.

Gracias de antemano.
Un saludo y hasta pronto.
Ivan

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
11/11/2005 - 05:03 | Informe spam
hola, Ivan !

... que me apareciese un formulario de una hoja si meto datos erroneos o inexistentes en otra hoja vinculada a ella
... previo aviso del error y pregunta de si deseo crearlo.
Pej: si meto un codigo de articulo en una hoja de pedido y el codigo no existe en la hoja de listado de articulos
que me avise y me de la opcion de crearlo.



si te refieres a que en la hoja con el listado de articulos puedes mostrar un formulario de datos [datos / formulario...]
y necesitas que 'este' se muestre en la [otra] hoja donde tienes -probablemente- celdas con validaciones por lista...

-> a reserva de que comentes datos [o adaptes algun codigo de eventos] para 'monitorear' cuales son 'esas' celdas...
te paso en seguida algunos comentarios acerca de 'como' mostrar [por codigo] ese tipo de 'formularios de datos'...

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
=-> cuando 'pretendes' mostrar el formulario de una hoja [datos / formulario...] ->por codigo<-...
excel 'trata' de encontrar un nombre de rango que haga referencia a la 'base de datos'...
o [si no lo encuentra]... 'busca' en la hoja ->a partir del rango 'A1'<-

las 'alternativas' [que veo] para que 'funcione SIN errores' el formulario de datos por codigo, son...
o... MOVER la base de datos para que inicie en 'A1'
o... usar un objeto 'commandbar' [simulando la ejecucion de: -menu- datos / formulario...]
[obviamente, la hoja 'activa' DEBE ser la 'correcta Y la celda 'activa' estar dentro de la base de datos]

1.- si te 'decides' por mover la base de datos a 'A1'...
podrias 'presentar' el formulario ->de cualquier hoja<- [si existe] DESDE cualquiera otra como 'activa' [p.e.]
si estas en hoja2 y quieres mostrar el formulario de hoja1...
Worksheets("Hoja1").ShowDataForm

2.- si 'prefieres/necesitas' DEJAR la base de datos 'donde esta'... ['tendras que']...
-> activar la hoja Y una celda 'apropiadas' y...
-> ejecutar el comando [datos / formulario...] ->por codigo<- +/- como sigue...
Worksheets("Hoja1").Select
Range("a15").Select
Application.CommandBars.FindControl(Id:†0).Execute

encontraras la explicacion de este 'comportamiento' en la siguiente pagina...
http://support.microsoft.com/defaul...es;e110462
El metodo ShowDataForm provoca un fallo si no se encuentran datos
[traduccion automatica al cstellano]
Respuesta Responder a este mensaje
#2 klokmkbock
11/11/2005 - 08:18 | Informe spam
Hola Hector, como siempre, muchas gracias por tu ayuda.

Estoy estudiandolo y creo que es lo que queria.

Muchas gracias y hasta pronto.
Un saludo.
Ivan


Héctor Miguel wrote:

hola, Ivan !

> ... que me apareciese un formulario de una hoja si meto datos erroneos o


inexistentes en otra hoja vinculada a ella
> ... previo aviso del error y pregunta de si deseo crearlo.
> Pej: si meto un codigo de articulo en una hoja de pedido y el codigo no


existe en la hoja de listado de articulos
> que me avise y me de la opcion de crearlo.

si te refieres a que en la hoja con el listado de articulos puedes mostrar


un formulario de datos [datos / formulario...]
y necesitas que 'este' se muestre en la [otra] hoja donde tienes


-probablemente- celdas con validaciones por lista...

-> a reserva de que comentes datos [o adaptes algun codigo de eventos] para


'monitorear' cuales son 'esas' celdas...
te paso en seguida algunos comentarios acerca de 'como' mostrar [por


codigo] ese tipo de 'formularios de datos'...

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
=> -> cuando 'pretendes' mostrar el formulario de una hoja [datos /


formulario...] ->por codigo<-...
excel 'trata' de encontrar un nombre de rango que haga referencia a la


'base de datos'...
o [si no lo encuentra]... 'busca' en la hoja ->a partir del rango 'A1'<-

las 'alternativas' [que veo] para que 'funcione SIN errores' el formulario


de datos por codigo, son...
o... MOVER la base de datos para que inicie en 'A1'
o... usar un objeto 'commandbar' [simulando la ejecucion de: -menu- datos /


formulario...]
[obviamente, la hoja 'activa' DEBE ser la 'correcta Y la celda


'activa' estar dentro de la base de datos]

1.- si te 'decides' por mover la base de datos a 'A1'...
podrias 'presentar' el formulario ->de cualquier hoja<- [si existe]


DESDE cualquiera otra como 'activa' [p.e.]
si estas en hoja2 y quieres mostrar el formulario de hoja1...
Worksheets("Hoja1").ShowDataForm

2.- si 'prefieres/necesitas' DEJAR la base de datos 'donde esta'...


['tendras que']...
-> activar la hoja Y una celda 'apropiadas' y...
-> ejecutar el comando [datos / formulario...] ->por codigo<- +/- como


sigue...
Worksheets("Hoja1").Select
Range("a15").Select
Application.CommandBars.FindControl(Id:†0).Execute

encontraras la explicacion de este 'comportamiento' en la siguiente pagina...
http://support.microsoft.com/defaul...es;e110462
El metodo ShowDataForm provoca un fallo si no se encuentran datos
[traduccion automatica al cstellano]
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida