Formulario Userform de VBA excel 2010 que permita buscar, seleccionar y traspasar información a hoja

Estoy buscando la manera de hacer un formulario(userform de VBA excel 2010), desde el cual pueda buscar y seleccionar la información requerida, la cual esta distribuida en 3 hojas excel 2010.

La 1ra hoja contiene 3 columnas con nombres, apellidos, y el curso al cual pertenece(datos de alumnos de una escuela)

La segunda hoja contiene 2 columnas la 1ra. Con el nombre del libro y la 2da. Con el nombre del autor.

La idea es que pueda seleccionar desde ambas hojas, la información y luego vaciar todo en otra hoja de EXCEL 2010( en columnas establecidas para ello) y con la fecha y hora de ingreso de esta información. En concreto es un pequeño control de PRESTAMOS Y DEVOLUCIONES DE UNA BIBLIOTECA EN UNA ESCUELA.

Por mi parte e intentado hacerlo a medias, pero no sé como continuar...

Diseñé un formulario con:

1 TextBox (para la fecha actual con que se ingresará el registro)

1 ComboBox (de 2 columnas para nombres y apellidos)

1 ComboBox (para el Curso del Alumno)

1 ComboBox (para el Libro solicitado)

1 ComboBox (para seleccionar unidades solicitadas)

1 Frame que contiene en su interior :

1 OptionButton (para detectar si se trata de un Préstamo

1 OptionButton (para detectar si es una Devolución)

1 CommandButton (para hacer los ingresos seleccionados, distinguiendo si se trata de un

PRÉSTAMO ó de una DEVOLUCION)

Si logro tu ayuda, creo que éste ejemplo servirá de gran ayuda a miles de personas.

Obs.: Cuando cargo el ComboBox habilitado para 2 columnas(propiedad ColumnCount) y el siguiente código:

ComboBox1.RowSource="A1:B" & Range("B" & Rows.Count) End(x1Up).Row

Y le doy anchos de 120 y 100 para cada columna(ColumnWidths), al desplegar los datos me aparecen las 2 columnas llenas correctamente, pero cuando selecciono un dato, sólo me nuestra el dato de la 1ra columna del ComboBox ¿por qué?

Agradecido desde ya

Pedro

1 Respuesta

Respuesta
1

Respondo a tu consulta: '... cuando selecciono un dato, sólo me nuestra el dato de la 1ra columna del ComboBox ¿por qué?...'

Si luego necesitas alguna otra ayuda con esta tarea debes ir finalizando por cada tema para seguir dejándolas en el tablón (reglas del foro)


Rpta: Porque así es como funcionan estos controles según sus propiedades:

BoundColumn: guarda el valor que se indica en esta col. y devuelve este valor cuando usas una instrucción como : dato = combobox1.value

Además es el valor que se muestra de modo predeterminado.

TextColumn: el valor predeterminado es -1 y x eso se muestra lo que indica BounColumn. Pero aquí podes establecer qué col mostrar.<em style="line-height: 1.5em;">

Para mostrar los datos de todas las col necesitas unos label o textbox o listbox.

Ejemplo:

Private Sub ComboBox1_Click()
TextBox1 = ComboBox1.Value      'devuelve la col indicada en BounColumn, predeterm = 1
TextBox2 = ComboBox1. List(ComboBox1. ListIndex, 1) 'devuelve la col 2
TextBox3 = ComboBox1. List(ComboBox1. ListIndex, 2) 'devuelve la col 3
End Sub

Los nros de col se numeran a partir de 0 x eso listindex,2 devuelve el valor de la col 3

Espero que esta pequeña clase '... servirá de gran ayuda a miles de personas...'


Nota: Para aprender más sobre controles y formularios no dejes de visitar la sección Manuales. El de Forms lleva los ejemplos explicados y listos para usar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas