Problemas de actualización tabla excel a listbox
Quisiera ver si me pueden ayudar en este caso:
Al dar con el botón Guardar, ... No se actualiza automáticamente en el listbox indico el código siguiente para su pronta ayuda.
------------------------------------------------------------------------------------------------------------------------------------------
Option Explicit
'variables globales
Dim indice As Integer 'variable para crear un indice de lista
Private Sub btnactualizar_Click()
Dim hojadatos As Worksheet 'crear variable y define como hoja de trabajo
Dim tabla As ListObject ' crear variable y gestionar valores de la tabla
'definir variables temporales de las cajas dependiendo de las cajas de texto
Dim valor1 As String, valor2 As String
Set hojadatos = ThisWorkbook.Sheets("Clientes")
Set tabla = hojadatos.ListObjects("tclientes")
valor1 = cbovendedor.Value
valor2 = txtcliente.Value
'volver a escribir enla lista
With tabla.ListRow(indice + 1)
.Range(1) = valor1
.Range(2) = valor2
End With
'limpiar campos
limpiarcampos
End Sub
Private Sub btneliminar_Click()
Dim hojadatos As Worksheet 'crear variable y define como hoja de trabajo
Dim tabla As ListObject ' crear variable y gestionar valores de la tabla
'definir variables temporales de las cajas dependiendo de las cajas de texto
Set hojadatos = ThisWorkbook.Sheets("Clientes")
Set tabla = hojadatos.ListObjects("tclientes")
If MsgBox("Realmente desea eliminar el registro?", vbQuestion + vbYesNo + vbDefaultButton2, "ADVERTENCIA") = vbYes Then
tabla.ListRows(indice + 1).Delete
End If
'limpiamos los campos
limpiarcampos
End Sub
Private Sub btnguardar_Click()
' boton guardar
If (cbovendedor) = Empty Or (txtcliente) = Empty Then
MsgBox "Recuerda que tienes que ingresar cliente y vendedor", vbCritical
Else
Range("Clientes!A2").EntireRow.Insert
Range("Clientes!b2") = cbovendedor.Value
Range("Clientes!A2") = txtcliente.Value
'posicionar a la primera casilla
cbovendedor.SetFocus
MsgBox "Registro creado exitosamente"
End If
'limpiar casillas de formulario
limpiarcampos
End Sub
'dentro de lista dobleclick para poder cargar con 2 click a los cuadros los datos
Private Sub lstclientes_Click()
indice = Me.lstclientes.ListIndex
txtcliente.Value = lstclientes.List(indice, 0)
cbovendedor.Value = lstclientes.List(indice, 1)
End Sub
Private Sub UserForm_Initialize()
Cbovendedor. AddItem ("cliente1")
Cbovendedor. AddItem ("cliente2")
Cbovendedor. AddItem ("cliente3")
Cbovendedor. AddItem ("cliente4")
Cbovendedor. AddItem ("cliente5")
Cbovendedor. AddItem ("cliente6")
' cargar datos de tabla excel
Me.lstclientes.RowSource = "Clientes!TClientes" ' para poner elementos de una hoja hacia nuestro listbox ("Me." hace referencia a nuestra hoja1)en este caso la hoja tiene como nombre Hoja1
Me.lstclientes.ColumnCount = 2 ' para indicar el numero de columnas
Me.lstclientes.ColumnWidths = "400;60" ' para indicar el ancho de las columnas
Me.lstclientes.ColumnHeads = True ' para que tome los encabezados de la tabla excel
End Sub
Private Sub limpiarcampos()
cbovendedor = Empty
txtcliente = Empty
End Sub