¿Cómo podría llenar al combo desde la función o tener un mejor procedimiento?

Tengo un multipage con 5 páginas
Cada una tiene al menos 2 combos que actualizan sus listas (que son rangos de hojas) con el evento enter.
Para esto he escrito una función que me devuelve el address de la ultima celda de la columna:
'****************************
el evento que actualiza al combo
'****************************
private ComboBox1()
LlenarCombo "hoja1" ,"a1"
' y el remedio casero:
combobox1.rowsource = activecell(xldropdown).text
activecell(xldropdown).clearcontents
end sub
'*****************************
y mi funcion
'*****************************
puclic function LlenarCombo(byval hoja as string, byval RangoInicio as string)
sheets(Hoja).activate
range(RangoInicio).activate
if activecell(xldropdown).text = ""
then msgbox "el campo esta vacio...
deseas ingresar datos ahora???" 'y
botones, titulo, etc
else
Selection.End(xlDown).activate'activo la ultima celda con datos
'****************
'Como no se llenar el combo desde esta funcion, hago lo siguiente:
'****************************
activecell(xldropdown).text = _
replace activecell.address, "$", ""
end function
1-como podria llenar al combo desde la funcion o tener un mejor procedimiento?
2-¿Es posible escribir en libro cerrado o es necesario tenerlo abierto?
3-¿Qué código necesitaría para que el statusbar de mi form muestre el texto del statusbar de excel?

1 respuesta

Respuesta
1
1.- Para llenar el combo solo tienes que asignarle la referencia correcta de tus datos, no entiendo muy bien tu código, pero le puedes indicar los rangos en RowSource así...
"A1:A10"
"Hoja1!A1:A10"
2.- Para escribir en cualquier libro es necesario abrirlo, eso si, puedes abrirlo de forma transparente para el usuario, pero es forzoso abrirlo
3.- La barra de estado de Excel, no tiene una propiedad Text que te permita capturar su contenido, pero en su defecto, te da control sobre esta barra, para escribir en ella usa
Application.StatusBar = "Mi mensaje"
Cuando la termines de usar es importante que la liberes para que Excel retome el control de ella...
Application.StatusBar = False
Saludos
*==========================================*
La presente respuesta ha demandado un tiempo de lectura,
análisis, elaboración y redacción. A cambio, simplemente,
pretendo que te tomes un minuto para FINALIZARLA, si
hubiera satisfecho -en alguna medida- tu requerimiento.
En caso contrario, puedes preguntarme nuevamente
aclarando qué entendí mal o qué faltó.
Tratare de mandarte una muestra...
De acuerdo, envialo y no se te olvide finalizar esta pregunta cuando estés satisfecho.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas