Problemas para rellenar una base de datos en excel

Hola, quisiera ver si me puedes ayudar, leyendo los foros he aprendido mucho sobre macros, gracias a esto, he podido complementar un programa que me dio una amiga para calcular algunas cosas, el problema es que hice un formulario con un userform, con textbox, combobox y un commandbuton, resulta que yo debo ir almacenando esa información, pero cuando le doy al ingresar venta no me copia la primera celda, por lo que me imposibilita seguir rellenando el formulario, ya que siempre estoy teniendo la celda en blanco por lo que me borra toda la fila hecha, quizás sea una pregunta muy fácil, pero me estoy iniciando en esto y no puedo resolverlo, te dejo las indicaciones
Private Sub ComboBox1_Change() 'FORMA DE PAGO
FICHA_VENTA.ComboBox1.RowSource = "Hoja1!A2:A7"
End Sub
Private Sub ComboBox10_Change() 'BOLETA 3
FICHA_VENTA.ComboBox10.RowSource = "Hoja1!A22:A33"
End Sub
Private Sub ComboBox11_Change() 'SERVICIO 3
FICHA_VENTA.ComboBox11.RowSource = "Hoja1!A10:A16"
End Sub
Private Sub ComboBox12_Change() 'RECOMENDACION 3
FICHA_VENTA.ComboBox12.RowSource = "Hoja1!A22:A33"
End Sub
Private Sub ComboBox13_Change() 'QUIEN VENDE 3
FICHA_VENTA.ComboBox13.RowSource = "Hoja1!A22:A33"
End Sub
Private Sub ComboBox14_Change() 'BOLETA 4
FICHA_VENTA.ComboBox14.RowSource = "Hoja1!A22:A33"
End Sub
Private Sub ComboBox15_Change() 'SERVICIO 4
FICHA_VENTA.ComboBox15.RowSource = "Hoja1!A10:A16"
End Sub
Private Sub ComboBox16_Change() 'RECOMENDACION 4
FICHA_VENTA.ComboBox16.RowSource = "Hoja1!A22:A33"
End Sub
Private Sub ComboBox17_Change() 'QUIEN VENDE 4
FICHA_VENTA.ComboBox17.RowSource = "Hoja1!A22:A33"
End Sub
Private Sub ComboBox18_Change() 'BOLETA 5
FICHA_VENTA.ComboBox18.RowSource = "Hoja1!A22:A33"
End Sub
Private Sub ComboBox19_Change() 'SERVICIO 5
FICHA_VENTA.ComboBox19.RowSource = "Hoja1!A10:A16"
End Sub
Private Sub ComboBox2_Change() 'BOLETA 1
FICHA_VENTA.ComboBox2.RowSource = "Hoja1!A22:A33"
End Sub
Private Sub ComboBox20_Change() 'RECOMENDACION 5
FICHA_VENTA.ComboBox20.RowSource = "Hoja1!A22:A33"
End Sub
Private Sub ComboBox21_Change() 'QUIEN VENDE 5
FICHA_VENTA.ComboBox21.RowSource = "Hoja1!A22:A33"
End Sub
Private Sub ComboBox3_Change() 'SERVICIO 1
FICHA_VENTA.ComboBox3.RowSource = "Hoja1!A10:A16"
End Sub
Private Sub ComboBox4_Change() 'RECOMENDACION 1
FICHA_VENTA.ComboBox4.RowSource = "Hoja1!A22:A33"
End Sub
Private Sub ComboBox5_Change() 'QUIEN VENDE 1
FICHA_VENTA.ComboBox5.RowSource = "Hoja1!A22:A33"
End Sub
Private Sub ComboBox6_Change() 'BOLETA 2
FICHA_VENTA.ComboBox6.RowSource = "Hoja1!A22:A33"
End Sub
Private Sub ComboBox7_Change() 'SERVICIO 2
FICHA_VENTA.ComboBox7.RowSource = "Hoja1!A10:A16"
End Sub
Private Sub ComboBox8_Change() 'RECOMENDACION 2
FICHA_VENTA.ComboBox8.RowSource = "Hoja1!A22:A33"
End Sub
Private Sub ComboBox9_Change() 'QUIEN VENDE 2
FICHA_VENTA.ComboBox9.RowSource = "Hoja1!A22:A33"
End Sub
Private Sub CommandButton1_Click()
'coloca aquí la dirección de la celda
'donde empieza la lista de nombres:
IniLista = "D3"
Set IniLista = Range(IniLista)
vCol = IniLista.Column
'Selección de celda donde colocar el nombre
If IsEmpty(IniLista) Then 'SI la lista está vacía
vRow = IniLista.Row
ElseIf IniLista.End(xlDown).Row > 50000 Then 'Si la lista tiene una sola fila ocupada (de títulos, por ejemplo)
vRow = IniLista.Offset(1).Row
Else 'Hay registros anteriores
vRow = IniLista.End(xlDown).Offset(1).Row
End If
Cells(vRow, vCol).Value = TextBox1.Value 'FOLIO
Cells(vRow, vCol + 1).Value = TextBox1.Value
Cells(vRow, vCol).Value = TextBox2.Value 'FECHA
Cells(vRow, vCol + 1).Value = TextBox2.Value
Cells(vRow, vCol).Value = TextBox3.Value 'NOMBRE
Cells(vRow, vCol + 2).Value = TextBox3.Value
Cells(vRow, vCol).Value = ComboBox1.Value 'forma de pago
Cells(vRow, vCol + 3).Value = ComboBox1.Value
Cells(vRow, vCol).Value = ComboBox2.Value 'boleta 1
Cells(vRow, vCol + 5).Value = ComboBox2.Value
Cells(vRow, vCol).Value = ComboBox3.Value 'servicio 1
Cells(vRow, vCol + 6).Value = ComboBox3.Value
Cells(vRow, vCol).Value = TextBox4.Value
Cells(vRow, vCol + 7).Value = TextBox4.Value 'MONTO 1
Cells(vRow, vCol).Value = ComboBox4.Value 'recomendacion 1
Cells(vRow, vCol + 8).Value = ComboBox4.Value
Cells(vRow, vCol).Value = ComboBox5.Value 'QUIEN VENDE 1
Cells(vRow, vCol + 9).Value = ComboBox5.Value
Cells(vRow, vCol).Value = ComboBox6.Value 'BOLETA 2
Cells(vRow, vCol + 10).Value = ComboBox6.Value
Cells(vRow, vCol).Value = ComboBox7.Value 'SERVICIO 2
Cells(vRow, vCol + 11).Value = ComboBox7.Value
Cells(vRow, vCol).Value = TextBox5.Value
Cells(vRow, vCol + 12).Value = TextBox5.Value 'MONTO 2
Cells(vRow, vCol).Value = ComboBox8.Value 'RECOMENDACION 2
Cells(vRow, vCol + 13).Value = ComboBox8.Value
Cells(vRow, vCol).Value = ComboBox9.Value 'QUIEN VENDE 2
Cells(vRow, vCol + 14).Value = ComboBox9.Value
Cells(vRow, vCol).Value = ComboBox10.Value 'BOLETA 3
Cells(vRow, vCol + 15).Value = ComboBox10.Value
Cells(vRow, vCol).Value = ComboBox11.Value 'SERVICIO 3
Cells(vRow, vCol + 16).Value = ComboBox11.Value
Cells(vRow, vCol).Value = TextBox7.Value
Cells(vRow, vCol + 17).Value = TextBox7.Value 'MONTO 3
Cells(vRow, vCol).Value = ComboBox12.Value 'RECOMENDACION 3
Cells(vRow, vCol + 18).Value = ComboBox12.Value
Cells(vRow, vCol).Value = ComboBox13.Value 'QUIEN VENDE 3
Cells(vRow, vCol + 19).Value = ComboBox13.Value
Cells(vRow, vCol).Value = ComboBox14.Value 'BOLETA 4
Cells(vRow, vCol + 20).Value = ComboBox14.Value
Cells(vRow, vCol).Value = ComboBox15.Value 'SERVICIO 4
Cells(vRow, vCol + 21).Value = ComboBox15.Value
Cells(vRow, vCol).Value = TextBox6.Value
Cells(vRow, vCol + 22).Value = TextBox6.Value 'MONTO 4
Cells(vRow, vCol).Value = ComboBox16.Value 'RECOMENDACION 4
Cells(vRow, vCol + 23).Value = ComboBox16.Value
Cells(vRow, vCol).Value = ComboBox17.Value 'QUIEN VENDE 4
Cells(vRow, vCol + 24).Value = ComboBox17.Value
Cells(vRow, vCol).Value = ComboBox18.Value 'BOLETA 5
Cells(vRow, vCol + 25).Value = ComboBox18.Value
Cells(vRow, vCol).Value = ComboBox19.Value 'SERVICIO 5
Cells(vRow, vCol + 26).Value = ComboBox19.Value
Cells(vRow, vCol).Value = TextBox8.Value
Cells(vRow, vCol + 27).Value = TextBox8.Value 'MONTO 5
Cells(vRow, vCol).Value = ComboBox20.Value 'RECOMENDACION 5
Cells(vRow, vCol + 28).Value = ComboBox20.Value
Cells(vRow, vCol).Value = ComboBox21.Value 'QUIEN VENDE 5
Cells(vRow, vCol + 29).Value = ComboBox21.Value
Set IniLista = Nothing
Unload FICHA_VENTA
Worksheets("VENTA DIARIA").Activate
End Sub
Private Sub TextBox2_Change()
TextBox2 = Format(Date)
End Sub
Muchas gracias

1 respuesta

Respuesta
1
Varios detalles:
1- Para grabar datos en la siguiente fila vacía:
Dim linea_libre As Long
Application.ScreenUpdating = False
Sheets("Clientes").Select
linea_libre = WorksheetFunction.CountA(Range("A:A")) + 1
Cells(linea_libre, 1).Value = TextBox1.Text
Cells(linea_libre, 2).Value = TextBox2.Text
Cells(linea_libre, 3).Value = TextBox3.Tex  'Así sucesivamente
2- Los TextBox 1 y 2 están cayendo en el mismo lugar.
3- No sé para qué te sirve esta parte:
IniLista = "D3"
Set IniLista = Range(IniLista)
vCol = IniLista.Column
'Selección de celda donde colocar el nombre
If IsEmpty(IniLista) Then 'SI la lista está vacía
vRow = IniLista.Row
ElseIf IniLista.End(xlDown). Row > 50000 Then 'Si la lista tiene una sola fila ocupada (de títulos, por ejemplo)
vRow = IniLista.Offset(1).Row
Else 'Hay registros anteriores
vRow = IniLista.End(xlDown).Offset(1).Row
End If
[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas