"Arreglito" de macro 2

10/11/2007 - 22:01 por Miguel | Informe spam
Héctor Miguel:
Aquí tienes el enlace al archivo:
http://www.badongo.com/file/5086970
Un saludo,
M. Ángel
 

Leer las respuestas

#1 Héctor Miguel
11/11/2007 - 02:11 | Informe spam
hola, Miguel !

... el enlace al archivo: http://www.badongo.com/file/5086970



considerando que en la consulta anterior, el problema quedo (principalmente) en el "re/llenado" de los combos...
voy a (tratar de) explicarte los "comos y por que" persistian algunas "incongruencias" por las diferencias entre:
1) los supuestos (desde este lado del mensaje y conforme a la exposicion de las consultas)
2) las realidades (analizando el archivo descargado con la situacion real -y quizas modificada ?-)

1) de tu consulta original se desprende que el re/llenado de los combos se hace 2 veces:

a) una en el evento '_initialize' -> usando la propiedad "RowSource"

b) otra en el evento '_click' del CommandButton2 -> usando el metodo "AddItem" luego de limpiar los combos
nota en tu post original que no hay separacion de codigo entre el commandbutton2 y el commandbutton2

c) por motivos "obvios", mi sugerencia incluia el llamado al procedimiento "Rellena_Combos" EN AMBOS EVENTOS :-((

2) del archivo descargado se observa que NO existe tal "duplicidad" en el re/lleno de los combos (quien lo iba a adivinar) -???-

3) tal como te comentaba en el punto 3 de mi ultima participacion a tu consulta anterior:
"(p.e.) no se porque rellenas los combos unas veces con la propiedad RowSource y otras por el metodo AddItem -?-"
"ni porque usas (WorksheetFunction.CountA) en cada columna (A a F) como si hubiera diferente numero de elementos por columna"

a) del mismo archivo descargado se obtiene que los diferentes elementos por columna (A a F) en la hoja "listas"
(efectivamente) cada columna tiene diferente numero de elementos

b) no parece ser que vayan a ser listados "dinamicos" (o de/crecientes) sino mas bien "estaticos" (entonces)...
por que hacer vaciados y re/llenados de los combos (tanto en el evento de inicio como en cualquiera otro) -???-

c) te sugiero definir nombres para cada rango/columna de tu hoja "listas" y ponerlos como origen (propiedad "RowSource")
-> (incluso) desde en tiempo de diseno de tu formulario
-> y cuando necesites "limpiar" los combos, simplemente estableces su propiedad "ListIndex" en menos 1 (-1)
lo que significa "ningun elemento seleccionado" (y con lo que adelgazas -y bastante- todo tu codigo)

4) creo que hay otro "detallito por ahi" que tiene que ver con el origen de la tabla dinamica (aunque no lo has mencionado) -?-
te sugiero definir un nombre con referencia a rangos dinamicos (o de/crecientes) para el origen de la tabla dinamica

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Preguntas similares