Problemas al utilizar el formulario de excel en una macro.

20/06/2007 - 04:06 por Ariel | Informe spam
comunidad:
Soy novato en excel y estoy generando una macro con el comando range y
userform para que me active el formulario de excel. Utilizo
Range("A4:H25").Select
ActiveSheet.ShowDataForm
y cuando lo corro (sobre la lista) me sale el siguiente error: "No se puede
determnar qué fila o qué selección de la lista contiene los rótulos de
columnas requeridos para este comando" creo que debe tener que ver con
definir el nombre de la lista pero no logro solucionar el problema
Espero alguna ayuda
Gracias

Carlos Ariel Milito
 

Leer las respuestas

#1 Héctor Miguel
20/06/2007 - 04:15 | Informe spam
hola, Ariel !

... estoy generando una macro con el comando range y userform para que me active el formulario de excel. Utilizo
Range("A4:H25").Select
ActiveSheet.ShowDataForm
y cuando lo corro (sobre la lista) me sale el siguiente error:
"No se puede determnar que fila o que seleccion de la lista contiene los rotulos de columnas requeridos para este comando"
creo que debe tener que ver con definir el nombre de la lista pero no logro solucionar el problema



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 DENTRO del rango 'A1:B2'

las 'alternativa' [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("c5").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 castellano]

saludos,
hector.

Preguntas similares