Sobre Formulario

30/06/2006 - 18:12 por Josema | Informe spam
Hola de nuevo, continuo con la pequeña aplicación de Excel y
naturalmente os sigo pidiendo ayuda. Veréis ahora he conseguido hacer un
formulario y consigo llamarlo a la hoja en la que estoy trabajando.
Le he puesto los mismos nombres de los campos de la tabla: Núm.Recibo,
Apellidos y
Nombre, Cantidad, Depositario, Fecha, Hora y Turno.
Lo que quisiera es que lo que escriba en cada uno de esos campos lo
lleve a las celdas del mismo nombre, pero si tengo ya llena la A1, que
comience en la A2. Si estuviera llena la A2, pues tendría que ir a la A3 y
así sucesivamente.
El lugar donde se encuentran cada una de ellas es:

Núm.Recibo,(A2)
Apellidos y Nombre (B2)
Cantidad(C2)
Depositario(D2)
Fecha (E2)
Hora y Turno (F2)
En A1, B1, C1, etc.. es donde están los nombres puestos

A ver si podéis enviarme una ayudita, os lo agradecería.
Un saludo y muchas gracias
Josema

Preguntas similare

Leer las respuestas

#11 Isaac
04/07/2006 - 14:27 | Informe spam
Hola amigos he leido sus aportaciones al respecto, pero parece que me perdi
de una parte importante al inicio, y no le agarro el hilo, me gustaria me
pudieran facilitar el archivo o parte de el donde estan trabajando lo de
llenado y modificacion de registros, saludos Isaac



"Ivan" escribió en el mensaje
news:%
Hola Josema

Aparte de bastante ignorancia, tengo una obsesiva mania por hacer las
cosas lo mas enrevesado y retorcido posible. Te mando otro codigo que
posiblemente te simplifique todo bastante.

Si tienes asignado un boton para agregar los datos de los controles a la
hoja prueba a usar este codigo en el evento click del boton.

Primero te lo explico un poco:

=> Ctrls = aqui sustituye Combo1, Combo2, etc, por los nombres de los
controles en los que hayas(/vayas a) introducido los datos para la hoja

=>iC = actua como indice de columna ->no tienes que tocar nada

=> nF = nº de la 1ª fila sin datos ->no tienes que tocar nada salvo
si ->>>
donde x= letra de la columna mas 'larga'





=> "Hoja1" = sustituyelo por el nombre de la hoja en la que tengas la
lista
> (entre comillas)

=> "a" = si la primera columna de tu lista no esta en la columna A >>
sustituye "a" en .Range("a" & ...) por -> "la letra de la primera columna
de




la lista"

Private Sub cmdAñadir_Click()
Dim Ctrls As Variant, ic As Byte, nF As Long
Ctrls = Array(Combo1, Combo2, Combo3, Combo4, Combo5)
Application.ScreenUpdating = False
With Worksheets("Hoja1")
nF = .[a65536].End(xlUp).Row + 1
For ic = 0 To UBound(Ctrls)
.Range("a" & nF).Offset(0, ic) = Ctrls(ic)
Next
End With
Application.ScreenUpdating = True
End Sub

Espero haberme explicado
Un saludo y disculpa por mis meteduras de pata
Ivan



Respuesta Responder a este mensaje
#12 klomkbock
04/07/2006 - 23:16 | Informe spam
Hola Isaac

Si te digo la verdad, yo tampoco me acordaba muy bien de la consulta
inicial, asi que aqui la pongo al final.

Josema preguntaba (por lo que creo entender) como pasar el contenido
introducido en los controles de un formulario a la primera fila vacia de
una lista/hoja de excel, por supuesto haciendo coincidir los campos del
formulario con los de la hoja. En mi ultima respuesta se da por hecho que
en el formulario hay un boton ("cmdAñadir" en el ejemplo) que transfiere
los datos a la hoja al hacer click. Para ello, salvo posible error por mi
parte, valdria el ultimo procedimiento expuesto. Tiene que ir
escrito/copiado en el procedimiento Click del boton ("cmdAñadir" en este
caso), y aparte de los detalles ya expuestos en el mensaje anterior, hay
que tener cuidado en colocar el nombre de los controles en la matriz en el
mismo orden que sus correspondientes campos en la hoja. En cualquier caso
lee bien las explicaciones dadas en el mensaje anterior.

De todas formas ten en cuenta que mi nivel es mas bien bajo, y que
posiblemente existan formas bastante mejores de hacerlo.

Espero te sirva de algo.
Un saludo y hasta pronto.
Ivan

Este es el codigo que tendrias que copiar dentro del proc. Click del boton:

> Dim Ctrls As Variant, ic As Byte, nF As Long
> Ctrls = Array(Combo1, Combo2, Combo3, Combo4, Combo5)
> Application.ScreenUpdating = False
> With Worksheets("Hoja1")
> nF = .[a65536].End(xlUp).Row + 1
> For ic = 0 To UBound(Ctrls)
> .Range("a" & nF).Offset(0, ic) = Ctrls(ic)
> Next
> End With
> Application.ScreenUpdating = True



-Esto es parte de la consulta original de Josema--

Le he puesto los mismos nombres de los campos de la tabla: Núm.Recibo,
Apellidos y
Nombre, Cantidad, Depositario, Fecha, Hora y Turno.
Lo que quisiera es que lo que escriba en cada uno de esos campos lo
lleve a las celdas del mismo nombre, pero si tengo ya llena la A1, que
comience en la A2. Si estuviera llena la A2, pues tendría que ir a la A3 y
así sucesivamente.
El lugar donde se encuentran cada una de ellas es:

Núm.Recibo,(A2)
Apellidos y Nombre (B2)
Cantidad(C2)
Depositario(D2)
Fecha (E2)
Hora y Turno (F2)
En A1, B1, C1, etc.. es donde están los nombres puestos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida