Formulario vb para insertar datos en na hoja de excel

Tengo un formulario visual para insertar datos en una hoja de excel, pero no logro insertar los datos en la hoja, tampoco me sale error. Pido ayuda para solucionar este inconveniente,.

2 respuestas

Respuesta
1

¿Puedes mostrar el código que tienes hasta ahora? Das muy poca información, hay mil maneras de hacer esto, como también hay mil maneras de interpretar tu pregunta.

PD. VB y VBA son diferentes, supongo que el formulario está hecho en el editor de VBA de Excel, o lo has hecho fuera, ¿en Visual Studio o algún otro editor?

Hola, gracias por responder

El código esta hecho en visual basic editor de excel, envío la foto del formulario y el código, y la foto del la hoja principal donde esta la factura

, este formulario lista la base de datos de la hoja CLIENTES y lo tiene que insertar en la hoja principal (la factura), los datos que aparecen en el formulario debe insertarse en los campos de la facutura,, o más bien el campo de indentificacion ya que los otros están con fórmulas, o pueden sr todos los campos,, nota. En este momento lo tengo manualmente, es decir digitando el numero de indentificacion en el campo E5, el campo al lado de la dirección

El código es este:

Private Sub UserForm_Activate()
With Application
   .ScreenUpdating = False
  .DisplayAlerts = False
End With
Dim fila As String
Sheets("CLIENTES").Activate
Range("B8").Activate
fila = 0: fila = 8
LISTACLI.ColumnCount = 6
LISTACLI.Width = 500
LISTACLI.ColumnWidths = "1;20;170;140;70;30"
While Cells(fila, 2).Value <> ""
    If Cells(fila, 2).Value <> "" Then
        LISTACLI.AddItem
      LISTACLI.List(LISTACLI.ListCount - 1, 1) = ActiveSheet.Cells(fila, 1).Value
      LISTACLI.List(LISTACLI.ListCount - 1, 2) = ActiveSheet.Cells(fila, 2).Value
      LISTACLI.List(LISTACLI.ListCount - 1, 3) = ActiveSheet.Cells(fila, 3).Value
      LISTACLI.List(LISTACLI.ListCount - 1, 4) = ActiveSheet.Cells(fila, 4).Value
      LISTACLI.List(LISTACLI.ListCount - 1, 5) = ActiveSheet.Cells(fila, 5).Value
      LISTACLI.List(LISTACLI.ListCount - 1, 6) = ActiveSheet.Cells(fila, 6).Value
      fila = fila + 1
    End If
Wend
Sheets("PRINCIPAL").Activate
With Application
    .ScreenUpdating = True
    .DisplayAlerts = True
End With
End Sub
Private Sub LISTACLI_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Application.ScreenUpdating = False
On Error GoTo ERR:
L = LISTACLI.List(LISTACLI.ListIndex, 0)
Sheets("clientes").Select
Range("b8").Select
While ActiveCell.Value <> "" And ActiveCell.Value <> L And ActiveCell.Value <> Val(L)
ActiveCell.Offset(1, 0).Select
Wend
If ActiveCell.Value = "" Then
MsgBox "NO EXISTE USUARIO"
Unload Me
FORMULARIOCLI.Show
Else
COD1 = ActiveCell.Value
ActiveCell.Offset(0, 0).Select
NOMB1 = ActiveCell.Value
Sheets("principal").Select
Range("E5").Select
ActiveCell.Value = NOMB1
Unload Me
End If
ERR:
Application.ScreenUpdating = True
End Sub

Honestamente no comprendo el procedimiento. Tal vez sea mejor que compartas el libro (puedes sustituir cualquier información sensible con información ficticia). O esperamos la respuesta de otro experto.

Ok,, no hya problema

Comparto el libro,, sin sustituir nada,, para mi es un honor compartir y dar,, si puede ayudarme te lo agradezco..

El libro esta un poco bloqueado

Las claves son

Usuario : lug

passw: cretorno

todo en minusculas, asi, podras abrir las fichas (hojas), barras de herramientas, etc... 

Y con la explicación anterior pues te darás cuenta que el formulario no inserta los datos en la hoja de la factura (principal) .. te envío el link, el formulario se llama "formulariocliente"

El programa tiene un menu de opciones y solo se puede salir por el botón "salir del programa"

No hagas clic en los botones agenda y productos, (son vínculos a otros libros)

Nota: este libro lo fui programando con códigos que encuentro en la web, y los adapto, yo no lo programe, no soy programador pero entiendo un poco el visual y manejo muy bien el excel

tampoco te prreocupes por el valor en letras, es otro archivo,,,https://drive.google.com/open?id=1q-TiwYt17hoUnVlwtzoaKIoTy9dCl2Mq

Se me olvido decirte, para las claves

Haz clic en el botón SOPORTE DELmenu principal

Ya revise tu archivo, esta un poco complicado entender que hace cada cosa y también trabajar el libro. Todavía no estoy seguro de lo que quieres hacer. Creo que quieres que al dar doble click en el ListBox se pongan los datos en la hoja "Principal". Grabé la pantalla con este pequeño vídeo, dime si es esto lo que quieres hacer:

Mira el vídeo aquí: video demo

Me avisas.

Hola, buen día,,

ES exactamente lo que busco,, por que dices complicado,?,, es simple,, insertar estos datos del form en elos campos de la hoja principal,, nombre dirección, teléfono.. exactamente como lo muestra el video,, gracias,,

¿q mme hacia falta? q estaba mal en el código,¿,? No daba con la inserción,,

Estoy fuera de casa, usa el código que aparece en el video. Ese código lo puse en el evento Doble click del listbox

Si gracias, ya lo hice,, no pude esperar,

Lo único que veo y no me di cuenta al principio es que cuando se llene el formulario de muchos pacientes, seria mejor que en el texbox del nombre o el textbox del indetificacion,, se pueda buscar listando y resumiendo, como si fuera un autocompletar en esas casillas,, para que los liste individualmente,, mm,, mejor te paso un imagen de como es que deseo el form

Por eje, siupngamos que tenemos 100 pacientes o clientes en el formulario, entonces se hace un poco dispendioso buscarlos a ojo,, aun que con el numero de indetificacion es podría buscar manualmente pero en la hoja,, ¿per en el formulario se podrá hacer?

Es decir si hay más de 20 nombres que inicisn por ES,, los vaya listando, hasta digitar el nombre o id exactos y como aparece en la imagen,, había muchos con la letra V,, pero se busca es al cliene de nombre VÍCTOR..

Lo que quieres hacer es sencillo, pero por favor abre una pregunta nueva ya que eso es un tema a parte, o revisa mis respuestas, creo que he respondido par de veces como filtrar en un listbox.

Respuesta
1

Coincido con Andy suba su archivo y explicar un poco más a detalles para poder ayudarle, pase los datos a una excel pero hay mucha información faltante y dudas de lo que necesita.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas