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
 

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]

Preguntas similares