Hola buen día, espero que me puedas ayudar con este tema, estoy tratando de crear un formulario para el ingreso de Datos y necesito un Conbobox que limite al usuario a escoger algún cliente, como puedo hacerlo teniendio presente que los clientes cada día pueden ir incrementando, la lista se encuentra en la hoja clientes y que le obligue al usuario a seleccionar uno de la lista, perdona el repertorio pero soy nuevo en la creación de formularios
Hay varias maneras de hacerlo. La más inmediata es comprobar el rango el rango cada vez que accedas al combobox. En el código de inicialización del userform podrías dedicar una parte al combobox haciendo algo com: Micombo. Clear for each c in mirango micombo.additem (c.value) next c Suponiendo que micombo es el nombre del combobox, mirango el del rango y declaras la variable c como range. Previamente has recalculado mirango para que haga referencia a los elementos del día concreto. Otra posibilidad es genererar un nombre Formulas/Define Name (en Excel 2007 en Inglés), le pones el nombre por ejemplo "mirango" (sin las comillas) y en la definición (refers to) escribes la fórmula que describe el rango dinámico. Si comienza en A2 de la primera hoja hasta donde llegue, sería. =OFFSET (Hoja1!$A$2;0;0COUNTA(Hoja1!$A$A)-1) Con esto lo único que tendrías que hacer es en la propiedad correspondiente indicar el nombre: mirango. En el caso de un control insertado en un useform es RowSource. En el caso de un combo insertado directamente en la hoja Excel es ListFillRange. Ojo. Al usar una fórmula para calcular el rango éste no se actualza automáticamente al copiar un elemento más. Sí se recalcula por ejemplo al reabrir el fichero o al refinir la propiedad ListFillRangeaunque dejes el mismo valor. Mira a ver cual es la operativa que esperas y si encaja en lo que te ofrece esta manera. Si no tendrás que hacerlo de la primera que requiere algo de programación.