¿ Como puedo editar una fila de datos que ya está cargada en un ListBox vinculada a una tabla?
Estoy trabajando en un mega proyecto de VB, estoy bien avanzado en los registros, consultas estadísticas, previsualizaciónes y captura de información.
Pero lo que ahora necesito es lo siguiente:
Tengo un ListBox2 en una Multipage con datos extraídos de distintas tablas ya pre ESTABLECIDAS, la información que muestra dicho ListBox corresponde a una tabla específica que se muestra a la orden de un ComboBox, que me selecciona la tabla que me interesa consultar.
Si esta información consultada en el ListBox la deseo editar seleccionando una fila para luego se actualize también en la tabla respectiva. ¿Cómo lo puedo hacer?
El ListBox es de 27 columnas.
3 respuestas
¿Son tablas normales o tablas creadas con excel las cuales tienen nombre?, la pregunta es porque dependiendo de como las creaste es como se hará la macro, ¿puedes poner una imagen de tus datos?, ¿Y si dices que son varias tablas los datos de la que quieres actualizar no están enlazados con los de otras tablas?
Gracias por responder.
Son tablas en el libro de Excel que tienen nombres asignados.
Es una sola tabla por hoja, y no están enlazadas entre ellas.
Si son tablas con combre asignado la programación se vuelve bastante sencilla solo tienes que indexar y listo, por ejemplo en la imagen el combobox manda llamar a la tabla y la carga en el listbox1, en cuanto seleccionas un fila del listbox, la macro seleccionara la fila correspondiente en la hoja, luego
Se abrirá un segundo formulario donde cargara la fila seleccionada, en los textbox, haces los cambios y guardas
y esta es la macro para el primer formulario
Private Sub ComboBox1_Change() TABLA = ComboBox1.Value indice = ComboBox1.ListIndex If indice < 0 Then GoTo sal Set datos = Range(TABLA) With ListBox1 .RowSource = "hoja1!" & datos.Address .ColumnCount = datos.CurrentRegion.Columns.Count .ColumnHeads = True End With Set datos = Nothing sal: End Sub Private Sub ListBox1_Click() indice = ListBox1.ListIndex + 1 Range(ComboBox1.Value).Rows(indice).Select UserForm2.Show End Sub Private Sub UserForm_Initialize() With ComboBox1 .AddItem "proveedores" .AddItem "clientes" .AddItem "nombres" End With End Sub
y esta la del segundo
Private Sub CommandButton1_Click() Set TABLA = Selection Set OBJETOS = UserForm2.Controls X = 1 For Each Control In OBJETOS NOMBRE = UCase(TypeName(Control)) = "TEXTBOX" If NOMBRE Then TABLA.Cells(1, X) = Control.Text: X = X + 1 Next Control Set TABLA = Nothing End Sub Private Sub UserForm_Click() End Sub Private Sub UserForm_Initialize() Set TABLA = Selection Set OBJETOS = UserForm2.Controls X = 1 For Each Control In OBJETOS NOMBRE = UCase(TypeName(Control)) = "TEXTBOX" If NOMBRE Then Control.Text = TABLA.Cells(1, X): X = X + 1 Next Control Set TABLA = Nothing End Sub
Perfecto, lo probaré ya tenía desarrollada hasta el primer formulario del ListBox donde se seleccionan los datos.
Entonces ahora haré el segundo formulario.
Te cuento....Gracias
Me dice que aquí tengo un error.
Donde dice Hoja1!, ¿Lo reemplazo por el nombre de mi hoja?
.RowSource = "hoja1!" & datos.Address
De hecho si tienes que adaptar la macro a los datos de tu libro de excel, la carga al listbox la hace desde la hoja1 tu tienes que cambiar todo en la macro que diga hoja1 por el nombre de la hoja donde estén tus datos
Entiendo, pero tengo información de tablas en muchas hojas. Por cual de ellas cambio el nombre?
Por la Primera¿?
Private Sub CommandButton10_Click()
'le decimos cuántas columnas tendrá
ListBox2.ColumnCount = 15
'que sí que tiene encabezado
ListBox2.ColumnHeads = True
'el origen de datos en nuestra hoja de cálculo
ListBox2.RowSource = ComboBox9.Value
'le decimos cuántas columnas tendrá
ListBox3.ColumnCount = 16
'que sí que tiene encabezado
ListBox3.ColumnHeads = True
'el origen de datos en nuestra hoja de cálculo
ListBox3.RowSource = ComboBox18.Value
End Sub
Private Sub CommandButton11_Click()
'Suma Columna Bruto en ListBox2
For i = 0 To ListBox2.ListCount - 1
Total = Total + Val(ListBox2.List(i, 11))
Next i
TextBox35.Text = Format(Total, "$#,###,##0")
End Sub
Private Sub CommandButton12_Click()
'Suma Columna Reserva en ListBox2
For i = 0 To ListBox2.ListCount - 1
Total = Total + Val(ListBox2.List(i, 12))
Next i
TextBox34.Text = Format(Total, "$#,###,##0")
End Sub
Private Sub CommandButton1_Click() 'Ingresa Datos al ListBox1'
'Verifica que los campos no se encuentren vacios
Dim TextoD As String 'Fecha
TextoD = TextBox5.Text
If TextoD <> "" Then
ListBox1.AddItem TextoD
End If
Dim Texto As String 'Nombre Cliente
Texto = TextBox1.Text
If Texto <> "" Then
ListBox1.AddItem Texto
End If
Dim TextoA As String 'Rut
TextoA = TextBox2.Text
If TextoA <> "" Then
ListBox1.AddItem TextoA
End If
Dim TextoB As String 'Nomre Festejado
TextoB = TextBox3.Text
If TextoB <> "" Then
ListBox1.AddItem TextoB
End If
Dim TextoE As String 'Horario
TextoE = ComboBox2.Text
If TextoE <> "" Then
ListBox1.AddItem TextoE
End If
Dim TextoC As String 'Telefono
TextoC = TextBox4.Text
If TextoC <> "" Then
ListBox1.AddItem TextoC
End If
Dim TextoF As String 'Correo
TextoF = TextBox6.Text
If TextoF <> "" Then
ListBox1.AddItem TextoF
End If
Dim TextoG As String 'Cabtidad de Invitados
TextoG = TextBox7.Text
If TextoG <> "" Then
ListBox1.AddItem TextoG
End If
Dim TextoH As String 'Tipo de Evento
TextoH = TextBox8.Text
If TextoH <> "" Then
ListBox1.AddItem TextoH
End If
Dim TextoL As String 'Agendado Por
TextoL = ComboBox5.Text
If TextoL <> "" Then
ListBox1.AddItem TextoL
End If
Dim TextoK As String 'Servicio Agendado
TextoK = TextBox13.Text
If TextoK <> "" Then
ListBox1.AddItem TextoK
End If
Dim TextoI As String 'Total del Servicio
TextoI = TextBox11.Text
If TextoI <> "" Then
ListBox1.AddItem TextoI
End If
Dim TextoJ As String 'Reserva
TextoJ = TextBox12.Text
If TextoJ <> "" Then
ListBox1.AddItem TextoJ
End If
Dim TextoM As String
TextoM = ComboBox6.Text 'Digitado Por
If TextoM <> "" Then
ListBox1.AddItem TextoM
End If
Dim TextoN As String 'Fecha Registro
TextoN = TextBox14.Text
If TextoN <> "" Then
ListBox1.AddItem TextoN
End If
Dim TextoÑ As String
TextoÑ = ComboBox10.Text
If TextoÑ <> "" Then
ListBox1.AddItem TextoÑ
End If
Dim TextoO As String
TextoO = TextBox26.Text
If TextoO <> "" Then
ListBox1.AddItem TextoO
End If
Dim TextoP As String
TextoP = ComboBox11.Text
If TextoP <> "" Then
ListBox1.AddItem TextoP
End If
Dim TextoAC As String
TextoAC = TextBox27.Text
If TextoAC <> "" Then
ListBox1.AddItem TextoAC
End If
Dim TextoQ As String
TextoQ = ComboBox12.Text
If TextoQ <> "" Then
ListBox1.AddItem TextoQ
End If
Dim TextoR As String
TextoR = TextBox28.Text
If TextoR <> "" Then
ListBox1.AddItem TextoR
End If
Dim TextoS As String
TextoS = ComboBox13.Text
If TextoS <> "" Then
ListBox1.AddItem TextoS
End If
Dim TextoT As String
TextoT = TextBox29.Text
If TextoT <> "" Then
ListBox1.AddItem TextoT
End If
Dim TextoU As String
TextoU = ComboBox14.Text
If TextoU <> "" Then
ListBox1.AddItem TextoU
End If
Dim TextoV As String
TextoV = TextBox30.Text
If TextoV <> "" Then
ListBox1.AddItem TextoV
End If
Dim TextoW As String
TextoW = ComboBox15.Text
If TextoW <> "" Then
ListBox1.AddItem TextoW
End If
Dim TextoX As String
TextoX = TextBox31.Text
If TextoX <> "" Then
ListBox1.AddItem TextoX
End If
Dim TextoY As String
TextoY = ComboBox16.Text
If TextoY <> "" Then
ListBox1.AddItem TextoY
End If
Dim TextoZ As String
TextoZ = TextBox32.Text
If TextoZ <> "" Then
ListBox1.AddItem TextoZ
End If
Dim TextoAA As String
TextoAA = ComboBox17.Text
If TextoAA <> "" Then
ListBox1.AddItem TextoAA
End If
Dim TextoAB As String
TextoAB = TextBox33.Text
If TextoAB <> "" Then
ListBox1.AddItem TextoAB
End If
End Sub
Private Sub CommandButton13_Click()
'Suma Columna Bruto en ListBox3
For i = 0 To ListBox3.ListCount - 1
Total = Total + Val(ListBox3.List(i, 3))
Total = Total + Val(ListBox3.List(i, 1))
Total = Total + Val(ListBox3.List(i, 5))
Total = Total + Val(ListBox3.List(i, 7))
Total = Total + Val(ListBox3.List(i, 9))
Total = Total + Val(ListBox3.List(i, 11))
Total = Total + Val(ListBox3.List(i, 13))
Total = Total + Val(ListBox3.List(i, 15))
Next i
TextBox36.Text = Format(Total, "$#,###,##0")
End Sub
Private Sub CommandButton15_Click()
'Suma Columna Reserva en ListBox2
For i = 0 To ListBox2.ListCount - 1
Total = Total + Val(ListBox2.List(i, 11))
Next i
For i = 0 To ListBox2.ListCount - 1
Total = Total - Val(ListBox3.List(i, 1))
Total = Total - Val(ListBox3.List(i, 3))
Total = Total - Val(ListBox3.List(i, 5))
Total = Total - Val(ListBox3.List(i, 7))
Total = Total - Val(ListBox3.List(i, 9))
Total = Total - Val(ListBox3.List(i, 11))
Total = Total - Val(ListBox3.List(i, 13))
Total = Total - Val(ListBox3.List(i, 15))
Next i
TextBox37.Text = Format(Total, "$#,###,##0")
End Sub
Private Sub CommandButton2_Click() 'Graba los registros en la Planilla Excel'
'Programacion para registrar datos en los Meses Seleccionados'
Dim NombreHoja As String
Dim HojaDestino As Range
Dim NuevaFila As Integer
NombreHoja = Me.ComboBox3.Value
Set HojaDestino = ThisWorkbook.Sheets(NombreHoja).Range("A1:AE46").CurrentRegion
NuevaFila = HojaDestino.Rows.Count + 1
With ThisWorkbook.Sheets(NombreHoja)
For i = 0 To ListBox1.ListCount - 1
.Cells(NuevaFila, i + 1) = ListBox1.List(i)
Next i
End With
TextBox1 = Empty 'Limpia el formulario al grabar los Registros'
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
ComboBox2 = Empty
ComboBox3 = Empty
ComboBox5 = Empty
ComboBox6 = Empty
ComboBox10 = Empty
ComboBox11 = Empty
ComboBox12 = Empty
ComboBox13 = Empty
ComboBox14 = Empty
ComboBox15 = Empty
ComboBox16 = Empty
ComboBox17 = Empty
TextBox5 = Empty
TextBox6 = Empty
TextBox7 = Empty
TextBox8 = Empty
TextBox9 = Empty
TextBox10 = Empty
TextBox11 = Empty
TextBox12 = Empty
TextBox13 = Empty
TextBox14 = Empty
TextBox15 = Empty
TextBox16 = Empty
TextBox17 = Empty
TextBox18 = Empty
TextBox19 = Empty
TextBox20 = Empty
TextBox21 = Empty
TextBox22 = Empty
TextBox23 = Empty
TextBox24 = Empty
TextBox25 = Empty
TextBox26 = Empty
TextBox27 = Empty
TextBox28 = Empty
TextBox29 = Empty
TextBox30 = Empty
TextBox31 = Empty
TextBox32 = Empty
TextBox33 = Empty
TextBox1.SetFocus
ListBox1.Clear
MsgBox "Su Registro fue realizado con Exito", vbApplicationModal, "Aviso"
End Sub
Private Sub CommandButton3_Click() 'Limpia los datos del la Vista Previa'
ListBox1.Clear
CheckBox1 = False
CheckBox2 = False
CheckBox3 = False
CheckBox4 = False
CheckBox5 = False
CheckBox6 = False
CheckBox7 = False
CheckBox8 = False
CheckBox9 = False
CheckBox10 = False
TextBox8 = Empty
TextBox9 = Empty
TextBox10 = Empty
TextBox18 = Empty
TextBox11 = Empty
TextBox12 = Empty
TextBox13 = Empty
TextBox14 = Empty
TextBox15 = Empty
TextBox16 = Empty
TextBox17 = Empty
TextBox22 = Empty
TextBox23 = Empty
TextBox24 = Empty
End Sub
Private Sub CommandButton4_Click()
'Inicio Calculo para valor del Campo Valor Arriendo'
If ComboBox2.Text = "Prime" Then TextBox9.Value = "60000"
If ComboBox2.Text = "Tarde" Then TextBox9.Value = "50000"
If ComboBox2.Text = "Economico" Then TextBox9.Value = "40000"
If ComboBox2.Text = "Economico + Prime" Then TextBox9.Value = "80000"
If ComboBox2.Text = "Prime + Tarde" Then TextBox9.Value = "90000"
If ComboBox2.Text = "Noche" Then TextBox9.Value = "150000"
'Fin Calculo para valor del Campo Valor Arriendo'
'Inicio Calculo para valor del Campo Valor Servicio Adicional'
If CheckBox1 = True Then TextBox15.Value = "25000"
If CheckBox2 = True Then TextBox16.Value = "40000"
If CheckBox3 = True Then TextBox17.Value = "12000"
If CheckBox4 = True Then TextBox18.Value = "20000"
If CheckBox5 = True Then TextBox19.Value = "25000"
If CheckBox6 = True Then TextBox20.Value = "35000"
If CheckBox7 = True Then TextBox21.Value = "40000"
If CheckBox8 = True Then TextBox22.Value = "30000"
If CheckBox9 = True Then TextBox23.Value = "20000"
If CheckBox10 = True Then TextBox24.Value = "60000"
If CheckBox11 = True Then TextBox25.Value = "15000"
'Inicio Valores de Costos por Eventos
If ComboBox10 = "Operacion Interno" Then TextBox26.Value = "5348"
If ComboBox10 = "Anfitriona" Then TextBox26.Value = "10000"
If ComboBox10 = "Animacion Servicio Adicional" Then TextBox26.Value = "10000"
If ComboBox10 = "Globos Redondos (Bazar Moly)" Then TextBox26.Value = "250"
If ComboBox10 = "Globos Flexias (Cueva Tango)" Then TextBox26.Value = "1800"
If ComboBox10 = "Tatuajes Mixtos (Bazar Moly)" Then TextBox26.Value = "1500"
If ComboBox10 = "Pulseras Fluor (Cueva Tango" Then TextBox26.Value = "3200"
If ComboBox10 = "Pintura Facial Infantil (Chinos Coronel)" Then TextBox26.Value = "500"
If ComboBox10 = "Pintura Facial Fluor (Chinos Coronel" Then TextBox26.Value = "250"
If ComboBox10 = "Liquido Humo (Sodimac)" Then TextBox26.Value = "500"
If ComboBox10 = "Palos de Algodon Azucar" Then TextBox26.Value = "1950"
If ComboBox10 = "Potes Algodon Azucar (Galeria Carrera)" Then TextBox26.Value = "1680"
If ComboBox10 = "Azucar Palomitas y Algodon Azucar" Then TextBox26.Value = "1500"
If ComboBox10 = "Colorantes Algodon Azucar" Then TextBox26.Value = "100"
If ComboBox10 = "Maiz Palomitas" Then TextBox26.Value = "1200"
If ComboBox10 = "Aceite Palomitas" Then TextBox26.Value = "200"
If ComboBox10 = "Guantes y Mascarilla Desechables" Then TextBox26.Value = "400"
If ComboBox10 = "Pilas AA Microfono" Then TextBox26.Value = "300"
If ComboBox10 = "Bencina Servicio Traslados" Then TextBox26.Value = "5000"
If ComboBox10 = "Confort Baby Shower" Then TextBox26.Value = "1000"
If ComboBox10 = "Yogurt Baby Shower" Then TextBox26.Value = "200"
If ComboBox10 = "Show Personajes" Then TextBox26.Value = "8000"
If ComboBox11 = "Operacion Interno" Then TextBox27.Value = "5348"
If ComboBox11 = "Anfitriona" Then TextBox27.Value = "10000"
If ComboBox11 = "Animacion Servicio Adicional" Then TextBox27.Value = "10000"
If ComboBox11 = "Globos Redondos (Bazar Moly)" Then TextBox27.Value = "250"
If ComboBox11 = "Globos Flexias (Cueva Tango)" Then TextBox27.Value = "1800"
If ComboBox11 = "Tatuajes Mixtos (Bazar Moly)" Then TextBox27.Value = "1500"
If ComboBox11 = "Pulseras Fluor (Cueva Tango" Then TextBox27.Value = "3200"
If ComboBox11 = "Pintura Facial Infantil (Chinos Coronel)" Then TextBox27.Value = "500"
If ComboBox11 = "Pintura Facial Fluor (Chinos Coronel" Then TextBox27.Value = "250"
If ComboBox11 = "Liquido Humo (Sodimac)" Then TextBox27.Value = "500"
If ComboBox11 = "Palos de Algodon Azucar" Then TextBox27.Value = "1950"
If ComboBox11 = "Potes Algodon Azucar (Galeria Carrera)" Then TextBox27.Value = "1680"
If ComboBox11 = "Azucar Palomitas y Algodon Azucar" Then TextBox27.Value = "1500"
If ComboBox11 = "Colorantes Algodon Azucar" Then TextBox27.Value = "100"
If ComboBox11 = "Maiz Palomitas" Then TextBox27.Value = "1200"
If ComboBox11 = "Aceite Palomitas" Then TextBox27.Value = "200"
If ComboBox11 = "Guantes y Mascarilla Desechables" Then TextBox27.Value = "400"
If ComboBox11 = "Pilas AA Microfono" Then TextBox27.Value = "300"
If ComboBox11 = "Bencina Servicio Traslados" Then TextBox27.Value = "5000"
If ComboBox11 = "Confort Baby Shower" Then TextBox27.Value = "1000"
If ComboBox11 = "Yogurt Baby Shower" Then TextBox27.Value = "200"
If ComboBox11 = "Show Personajes" Then TextBox27.Value = "8000"
If ComboBox12 = "Operacion Interno" Then TextBox28.Value = "5348"
If ComboBox12 = "Anfitriona" Then TextBox28.Value = "10000"
If ComboBox12 = "Animacion Servicio Adicional" Then TextBox28.Value = "10000"
If ComboBox12 = "Globos Redondos (Bazar Moly)" Then TextBox28.Value = "250"
If ComboBox12 = "Globos Flexias (Cueva Tango)" Then TextBox28.Value = "1800"
If ComboBox12 = "Tatuajes Mixtos (Bazar Moly)" Then TextBox28.Value = "1500"
If ComboBox12 = "Pulseras Fluor (Cueva Tango" Then TextBox28.Value = "3200"
If ComboBox12 = "Pintura Facial Infantil (Chinos Coronel)" Then TextBox28.Value = "500"
If ComboBox12 = "Pintura Facial Fluor (Chinos Coronel" Then TextBox28.Value = "250"
If ComboBox12 = "Liquido Humo (Sodimac)" Then TextBox28.Value = "500"
If ComboBox12 = "Palos de Algodon Azucar" Then TextBox28.Value = "1950"
If ComboBox12 = "Potes Algodon Azucar (Galeria Carrera)" Then TextBox28.Value = "1680"
If ComboBox12 = "Azucar Palomitas y Algodon Azucar" Then TextBox28.Value = "1500"
If ComboBox12 = "Colorantes Algodon Azucar" Then TextBox28.Value = "100"
If ComboBox12 = "Maiz Palomitas" Then TextBox28.Value = "1200"
If ComboBox12 = "Aceite Palomitas" Then TextBox28.Value = "200"
If ComboBox12 = "Guantes y Mascarilla Desechables" Then TextBox28.Value = "400"
If ComboBox12 = "Pilas AA Microfono" Then TextBox28.Value = "300"
If ComboBox12 = "Bencina Servicio Traslados" Then TextBox28.Value = "5000"
If ComboBox12 = "Confort Baby Shower" Then TextBox28.Value = "1000"
If ComboBox12 = "Yogurt Baby Shower" Then TextBox28.Value = "200"
If ComboBox12 = "Show Personajes" Then TextBox28.Value = "8000"
If ComboBox13 = "Operacion Interno" Then TextBox29.Value = "5348"
If ComboBox13 = "Anfitriona" Then TextBox29.Value = "10000"
If ComboBox13 = "Animacion Servicio Adicional" Then TextBox29.Value = "10000"
If ComboBox13 = "Globos Redondos (Bazar Moly)" Then TextBox29.Value = "250"
If ComboBox13 = "Globos Flexias (Cueva Tango)" Then TextBox29.Value = "1800"
If ComboBox13 = "Tatuajes Mixtos (Bazar Moly)" Then TextBox29.Value = "1500"
If ComboBox13 = "Pulseras Fluor (Cueva Tango" Then TextBox29.Value = "3200"
If ComboBox13 = "Pintura Facial Infantil (Chinos Coronel)" Then TextBox29.Value = "500"
If ComboBox13 = "Pintura Facial Fluor (Chinos Coronel" Then TextBox29.Value = "250"
If ComboBox13 = "Liquido Humo (Sodimac)" Then TextBox29.Value = "500"
If ComboBox13 = "Palos de Algodon Azucar" Then TextBox29.Value = "1950"
If ComboBox13 = "Potes Algodon Azucar (Galeria Carrera)" Then TextBox29.Value = "1680"
If ComboBox13 = "Azucar Palomitas y Algodon Azucar" Then TextBox29.Value = "1500"
If ComboBox13 = "Colorantes Algodon Azucar" Then TextBox29.Value = "100"
If ComboBox13 = "Maiz Palomitas" Then TextBox29.Value = "1200"
If ComboBox13 = "Aceite Palomitas" Then TextBox29.Value = "200"
If ComboBox13 = "Guantes y Mascarilla Desechables" Then TextBox29.Value = "400"
If ComboBox13 = "Pilas AA Microfono" Then TextBox29.Value = "300"
If ComboBox13 = "Bencina Servicio Traslados" Then TextBox29.Value = "5000"
If ComboBox13 = "Confort Baby Shower" Then TextBox29.Value = "1000"
If ComboBox13 = "Yogurt Baby Shower" Then TextBox29.Value = "200"
If ComboBox13 = "Show Personajes" Then TextBox29.Value = "8000"
If ComboBox14 = "Operacion Interno" Then TextBox30.Value = "5348"
If ComboBox14 = "Anfitriona" Then TextBox30.Value = "10000"
If ComboBox14 = "Inimacion Servicio Adicional" Then TextBox30.Value = "10000"
If ComboBox14 = "Globos Redondos (Bazar Moly)" Then TextBox30.Value = "250"
If ComboBox14 = "Globos Flexias (Cueva Tango)" Then TextBox30.Value = "1800"
If ComboBox14 = "Tatuajes Mixtos (Bazar Moly)" Then TextBox30.Value = "1500"
If ComboBox14 = "Pulseras Fluor (Cueva Tango" Then TextBox30.Value = "3200"
If ComboBox14 = "Pintura Facial Infantil (Chinos Coronel)" Then TextBox30.Value = "500"
If ComboBox14 = "Pintura Facial Fluor (Chinos Coronel" Then TextBox30.Value = "250"
If ComboBox14 = "Liquido Humo (Sodimac)" Then TextBox30.Value = "500"
If ComboBox14 = "Palos de Algodon Azucar" Then TextBox30.Value = "1950"
If ComboBox14 = "Potes Algodon Azucar (Galeria Carrera)" Then TextBox30.Value = "1680"
If ComboBox14 = "Azucar Palomitas y Algodon Azucar" Then TextBox30.Value = "1500"
If ComboBox14 = "Colorantes Algodon Azucar" Then TextBox30.Value = "100"
If ComboBox14 = "Maiz Palomitas" Then TextBox30.Value = "1200"
If ComboBox14 = "Aceite Palomitas" Then TextBox30.Value = "200"
If ComboBox14 = "Guantes y Mascarilla Desechables" Then TextBox30.Value = "400"
If ComboBox14 = "Pilas AA Microfono" Then TextBox30.Value = "300"
If ComboBox14 = "Bencina Servicio Traslados" Then TextBox30.Value = "5000"
If ComboBox14 = "Confort Baby Shower" Then TextBox30.Value = "1000"
If ComboBox14 = "Yogurt Baby Shower" Then TextBox30.Value = "200"
If ComboBox14 = "Show Personajes" Then TextBox30.Value = "8000"
If ComboBox15 = "Operacion Interno" Then TextBox31.Value = "5348"
If ComboBox15 = "Anfitriona" Then TextBox31.Value = "10000"
If ComboBox15 = "Animacion Servicio Adicional" Then TextBox31.Value = "10000"
If ComboBox15 = "Globos Redondos (Bazar Moly)" Then TextBox31.Value = "250"
If ComboBox15 = "Globos Flexias (Cueva Tango)" Then TextBox31.Value = "1800"
If ComboBox15 = "Tatuajes Mixtos (Bazar Moly)" Then TextBox31.Value = "1500"
If ComboBox15 = "Pulseras Fluor (Cueva Tango" Then TextBox31.Value = "3200"
If ComboBox15 = "Pintura Facial Infantil (Chinos Coronel)" Then TextBox31.Value = "500"
If ComboBox15 = "Pintura Facial Fluor (Chinos Coronel" Then TextBox31.Value = "250"
If ComboBox15 = "Liquido Humo (Sodimac)" Then TextBox31.Value = "500"
If ComboBox15 = "Palos de Algodon Azucar" Then TextBox31.Value = "1950"
If ComboBox15 = "Potes Algodon Azucar (Galeria Carrera)" Then TextBox31.Value = "1680"
If ComboBox15 = "Azucar Palomitas y Algodon Azucar" Then TextBox31.Value = "1500"
If ComboBox15 = "Colorantes Algodon Azucar" Then TextBox31.Value = "100"
If ComboBox15 = "Maiz Palomitas" Then TextBox31.Value = "1200"
If ComboBox15 = "Aceite Palomitas" Then TextBox31.Value = "200"
If ComboBox15 = "Guantes y Mascarilla Desechables" Then TextBox31.Value = "400"
If ComboBox15 = "Pilas AA Microfono" Then TextBox31.Value = "300"
If ComboBox15 = "Bencina Servicio Traslados" Then TextBox31.Value = "5000"
If ComboBox15 = "Confort Baby Shower" Then TextBox31.Value = "1000"
If ComboBox15 = "Yogurt Baby Shower" Then TextBox31.Value = "200"
If ComboBox15 = "Show Personajes" Then TextBox31.Value = "8000"
If ComboBox16 = "Operacion Interno" Then TextBox32.Value = "5348"
If ComboBox16 = "Anfitriona" Then TextBox32.Value = "10000"
If ComboBox16 = "Inimacion Servicio Adicional" Then TextBox32.Value = "10000"
If ComboBox16 = "Globos Redondos (Bazar Moly)" Then TextBox32.Value = "250"
If ComboBox16 = "Globos Flexias (Cueva Tango)" Then TextBox32.Value = "1800"
If ComboBox16 = "Tatuajes Mixtos (Bazar Moly)" Then TextBox32.Value = "1500"
If ComboBox16 = "Pulseras Fluor (Cueva Tango" Then TextBox32.Value = "3200"
If ComboBox16 = "Pintura Facial Infantil (Chinos Coronel)" Then TextBox32.Value = "500"
If ComboBox16 = "Pintura Facial Fluor (Chinos Coronel" Then TextBox32.Value = "250"
If ComboBox16 = "Liquido Humo (Sodimac)" Then TextBox32.Value = "500"
If ComboBox16 = "Palos de Algodon Azucar" Then TextBox32.Value = "1950"
If ComboBox16 = "Potes Algodon Azucar (Galeria Carrera)" Then TextBox32.Value = "1680"
If ComboBox16 = "Azucar Palomitas y Algodon Azucar" Then TextBox32.Value = "1500"
If ComboBox16 = "Colorantes Algodon Azucar" Then TextBox32.Value = "100"
If ComboBox16 = "Maiz Palomitas" Then TextBox32.Value = "1200"
If ComboBox16 = "Aceite Palomitas" Then TextBox32.Value = "200"
If ComboBox16 = "Guantes y Mascarilla Desechables" Then TextBox32.Value = "400"
If ComboBox16 = "Pilas AA Microfono" Then TextBox32.Value = "300"
If ComboBox16 = "Bencina Servicio Traslados" Then TextBox32.Value = "5000"
If ComboBox16 = "Confort Baby Shower" Then TextBox32.Value = "1000"
If ComboBox16 = "Yogurt Baby Shower" Then TextBox32.Value = "200"
If ComboBox16 = "Show Personajes" Then TextBox32.Value = "8000"
If ComboBox17 = "Operacion Interno" Then TextBox33.Value = "5348"
If ComboBox17 = "Anfitriona" Then TextBox33.Value = "10000"
If ComboBox17 = "Animacion Servicio Adicional" Then TextBox33.Value = "10000"
If ComboBox17 = "Globos Redondos (Bazar Moly)" Then TextBox33.Value = "250"
If ComboBox17 = "Globos Flexias (Cueva Tango)" Then TextBox33.Value = "1800"
If ComboBox17 = "Tatuajes Mixtos (Bazar Moly)" Then TextBox33.Value = "1500"
If ComboBox17 = "Pulseras Fluor (Cueva Tango" Then TextBox33.Value = "3200"
If ComboBox17 = "Pintura Facial Infantil (Chinos Coronel)" Then TextBox33.Value = "500"
If ComboBox17 = "Pintura Facial Fluor (Chinos Coronel" Then TextBox33.Value = "250"
If ComboBox17 = "Liquido Humo (Sodimac)" Then TextBox33.Value = "500"
If ComboBox17 = "Palos de Algodon Azucar" Then TextBox33.Value = "1950"
If ComboBox17 = "Potes Algodon Azucar (Galeria Carrera)" Then TextBox33.Value = "1680"
If ComboBox17 = "Azucar Palomitas y Algodon Azucar" Then TextBox33.Value = "1500"
If ComboBox17 = "Colorantes Algodon Azucar" Then TextBox33.Value = "100"
If ComboBox17 = "Maiz Palomitas" Then TextBox33.Value = "1200"
If ComboBox17 = "Aceite Palomitas" Then TextBox33.Value = "200"
If ComboBox17 = "Guantes y Mascarilla Desechables" Then TextBox33.Value = "400"
If ComboBox17 = "Pilas AA Microfono" Then TextBox33.Value = "300"
If ComboBox17 = "Bencina Servicio Traslados" Then TextBox33.Value = "5000"
If ComboBox17 = "Confort Baby Shower" Then TextBox33.Value = "1000"
If ComboBox17 = "Yogurt Baby Shower" Then TextBox33.Value = "200"
If ComboBox17 = "Show Personajes" Then TextBox33.Value = "8000"
'Limpia Registros despues de llamar los valores
CheckBox1 = Empty
CheckBox2 = Empty
CheckBox3 = Empty
CheckBox4 = Empty
CheckBox5 = Empty
CheckBox6 = Empty
CheckBox7 = Empty
CheckBox8 = Empty
CheckBox9 = Empty
CheckBox10 = Empty
CheckBox11 = Empty
End Sub
Private Sub CommandButton5_Click()
'Suma de Valores para obtener Total en el Campo Valor Ser. Adicional y Valor Total'
TextBox10.Text = Val(TextBox15.Text) + Val(TextBox16.Text) + Val(TextBox17.Text) + Val(TextBox18.Text) + Val(TextBox19.Text) + Val(TextBox20.Text) + Val(TextBox21.Text) + Val(TextBox22.Text) + Val(TextBox23.Text) + Val(TextBox24.Text) + Val(TextBox25.Text)
TextBox11.Text = Val(TextBox9.Text) + Val(TextBox10.Text)
TextBox12.Text = Val(TextBox11.Text) / 2
End Sub
Private Sub CommandButton6_Click()
'Salir del Formulario'
Unload Me
End Sub
Private Sub UserForm_Activate() 'Carga los datos de los ComboBox'
UserForm1.ComboBox2.Clear
ComboBox2.AddItem "Prime"
ComboBox2.AddItem "Tarde"
ComboBox2.AddItem "Economico"
ComboBox2.AddItem "Economico + Prime"
ComboBox2.AddItem "Prime + Tarde"
ComboBox2.AddItem "Noche"
UserForm1.ComboBox5.Clear
ComboBox5.AddItem "DMACHIMAN"
ComboBox5.AddItem "PMILLA"
ComboBox5.AddItem "JORDOÑEZ"
ComboBox5.AddItem "CMUÑOZ"
UserForm1.ComboBox6.Clear
ComboBox6.AddItem "DMACHIMAN"
ComboBox6.AddItem "PMILLA"
ComboBox6.AddItem "JORDOÑEZ"
ComboBox6.AddItem "CMUÑOZ"
UserForm1.ComboBox9.Clear
ComboBox9.AddItem "Marzo19"
ComboBox9.AddItem "Abril19"
ComboBox9.AddItem "Mayo19"
ComboBox9.AddItem "Junio19"
ComboBox9.AddItem "Julio19"
ComboBox9.AddItem "Agosto19"
ComboBox9.AddItem "Septiembre19"
ComboBox9.AddItem "Octubre19"
ComboBox9.AddItem "Noviembre19"
ComboBox9.AddItem "Diciembre19"
ComboBox9.AddItem "Resumen19"
UserForm1.ComboBox10.Clear
ComboBox10.AddItem "Operacion Interno"
ComboBox10.AddItem "Anfitriona"
ComboBox10.AddItem "Inimacion Servicio Adicional"
ComboBox10.AddItem "Globos Redondos (Bazar Moly)"
ComboBox10.AddItem "Globos Flexias (Cueva Tango)"
ComboBox10.AddItem "Tatuajes Mixtos (Bazar Moly)"
ComboBox10.AddItem "Pulseras Fluor (Cueva Tango"
ComboBox10.AddItem "Pintura Facial Infantil (Chinos Coronel)"
ComboBox10.AddItem "Pintura Facial Fluor (Chinos Coronel"
ComboBox10.AddItem "Liquido Humo (Sodimac)"
ComboBox10.AddItem "Palos de Algodon Azucar"
ComboBox10.AddItem "Potes Algodon Azucar (Galeria Carrera)"
ComboBox10.AddItem "Azucar Palomitas y Algodon Azucar"
ComboBox10.AddItem "Colorantes Algodon Azucar"
ComboBox10.AddItem "Maiz Palomitas"
ComboBox10.AddItem "Aceite Palomitas"
ComboBox10.AddItem "Guantes y Mascarilla Desechables"
ComboBox10.AddItem "Pilas AA Microfono"
ComboBox10.AddItem "Bencina Servicio Traslados"
ComboBox10.AddItem "Confort Baby Shower"
ComboBox10.AddItem "Yogurt Baby Shower"
ComboBox10.AddItem "Show Personajes"
UserForm1.ComboBox11.Clear
ComboBox11.AddItem "Operacion Interno"
ComboBox11.AddItem "Anfitriona"
ComboBox11.AddItem "Animacion Servicio Adicional"
ComboBox11.AddItem "Globos Redondos (Bazar Moly)"
ComboBox11.AddItem "Globos Flexias (Cueva Tango)"
ComboBox11.AddItem "Tatuajes Mixtos (Bazar Moly)"
ComboBox11.AddItem "Pulseras Fluor (Cueva Tango"
ComboBox11.AddItem "Pintura Facial Infantil (Chinos Coronel)"
ComboBox11.AddItem "Pintura Facial Fluor (Chinos Coronel"
ComboBox11.AddItem "Liquido Humo (Sodimac)"
ComboBox11.AddItem "Palos de Algodon Azucar"
ComboBox11.AddItem "Potes Algodon Azucar (Galeria Carrera)"
ComboBox11.AddItem "Azucar Palomitas y Algodon Azucar"
ComboBox11.AddItem "Colorantes Algodon Azucar"
ComboBox11.AddItem "Maiz Palomitas"
ComboBox11.AddItem "Aceite Palomitas"
ComboBox11.AddItem "Guantes y Mascarilla Desechables"
ComboBox11.AddItem "Pilas AA Microfono"
ComboBox11.AddItem "Bencina Servicio Traslados"
ComboBox11.AddItem "Confort Baby Shower"
ComboBox11.AddItem "Yogurt Baby Shower"
ComboBox11.AddItem "Show Personajes"
UserForm1.ComboBox12.Clear
ComboBox12.AddItem "Operacion Interno"
ComboBox12.AddItem "Anfitriona"
ComboBox12.AddItem "Animacion Servicio Adicional"
ComboBox12.AddItem "Globos Redondos (Bazar Moly)"
ComboBox12.AddItem "Globos Flexias (Cueva Tango)"
ComboBox12.AddItem "Tatuajes Mixtos (Bazar Moly)"
ComboBox12.AddItem "Pulseras Fluor (Cueva Tango"
ComboBox12.AddItem "Pintura Facial Infantil (Chinos Coronel)"
ComboBox12.AddItem "Pintura Facial Fluor (Chinos Coronel"
ComboBox12.AddItem "Liquido Humo (Sodimac)"
ComboBox12.AddItem "Palos de Algodon Azucar"
ComboBox12.AddItem "Potes Algodon Azucar (Galeria Carrera)"
ComboBox12.AddItem "Azucar Palomitas y Algodon Azucar"
ComboBox12.AddItem "Colorantes Algodon Azucar"
ComboBox12.AddItem "Maiz Palomitas"
ComboBox12.AddItem "Aceite Palomitas"
ComboBox12.AddItem "Guantes y Mascarilla Desechables"
ComboBox12.AddItem "Pilas AA Microfono"
ComboBox12.AddItem "Bencina Servicio Traslados"
ComboBox12.AddItem "Confort Baby Shower"
ComboBox12.AddItem "Yogurt Baby Shower"
ComboBox12.AddItem "Show Personajes"
UserForm1.ComboBox13.Clear
ComboBox13.AddItem "Operacion Interno"
ComboBox13.AddItem "Anfitriona"
ComboBox13.AddItem "Animacion Servicio Adicional"
ComboBox13.AddItem "Globos Redondos (Bazar Moly)"
ComboBox13.AddItem "Globos Flexias (Cueva Tango)"
ComboBox13.AddItem "Tatuajes Mixtos (Bazar Moly)"
ComboBox13.AddItem "Pulseras Fluor (Cueva Tango"
ComboBox13.AddItem "Pintura Facial Infantil (Chinos Coronel)"
ComboBox13.AddItem "Pintura Facial Fluor (Chinos Coronel"
ComboBox13.AddItem "Liquido Humo (Sodimac)"
ComboBox13.AddItem "Palos de Algodon Azucar"
ComboBox13.AddItem "Potes Algodon Azucar (Galeria Carrera)"
ComboBox13.AddItem "Azucar Palomitas y Algodon Azucar"
ComboBox13.AddItem "Colorantes Algodon Azucar"
ComboBox13.AddItem "Maiz Palomitas"
ComboBox13.AddItem "Aceite Palomitas"
ComboBox13.AddItem "Guantes y Mascarilla Desechables"
ComboBox13.AddItem "Pilas AA Microfono"
ComboBox13.AddItem "Bencina Servicio Traslados"
ComboBox13.AddItem "Confort Baby Shower"
ComboBox13.AddItem "Yogurt Baby Shower"
ComboBox13.AddItem "Show Personajes"
UserForm1.ComboBox14.Clear
ComboBox14.AddItem "Operacion Interno"
ComboBox14.AddItem "Anfitriona"
ComboBox14.AddItem "Animacion Servicio Adicional"
ComboBox14.AddItem "Globos Redondos (Bazar Moly)"
ComboBox14.AddItem "Globos Flexias (Cueva Tango)"
ComboBox14.AddItem "Tatuajes Mixtos (Bazar Moly)"
ComboBox14.AddItem "Pulseras Fluor (Cueva Tango"
ComboBox14.AddItem "Pintura Facial Infantil (Chinos Coronel)"
ComboBox14.AddItem "Pintura Facial Fluor (Chinos Coronel"
ComboBox14.AddItem "Liquido Humo (Sodimac)"
ComboBox14.AddItem "Palos de Algodon Azucar"
ComboBox14.AddItem "Potes Algodon Azucar (Galeria Carrera)"
ComboBox14.AddItem "Azucar Palomitas y Algodon Azucar"
ComboBox14.AddItem "Colorantes Algodon Azucar"
ComboBox14.AddItem "Maiz Palomitas"
ComboBox14.AddItem "Aceite Palomitas"
ComboBox14.AddItem "Guantes y Mascarilla Desechables"
ComboBox14.AddItem "Pilas AA Microfono"
ComboBox14.AddItem "Bencina Servicio Traslados"
ComboBox14.AddItem "Confort Baby Shower"
ComboBox14.AddItem "Yogurt Baby Shower"
ComboBox14.AddItem "Show Personajes"
UserForm1.ComboBox15.Clear
ComboBox15.AddItem "Operacion Interno"
ComboBox15.AddItem "Anfitriona"
ComboBox15.AddItem "Inimacion Servicio Adicional"
ComboBox15.AddItem "Globos Redondos (Bazar Moly)"
ComboBox15.AddItem "Globos Flexias (Cueva Tango)"
ComboBox15.AddItem "Tatuajes Mixtos (Bazar Moly)"
ComboBox15.AddItem "Pulseras Fluor (Cueva Tango"
ComboBox15.AddItem "Pintura Facial Infantil (Chinos Coronel)"
ComboBox15.AddItem "Pintura Facial Fluor (Chinos Coronel"
ComboBox15.AddItem "Liquido Humo (Sodimac)"
ComboBox15.AddItem "Palos de Algodon Azucar"
ComboBox15.AddItem "Potes Algodon Azucar (Galeria Carrera)"
ComboBox15.AddItem "Azucar Palomitas y Algodon Azucar"
ComboBox15.AddItem "Colorantes Algodon Azucar"
ComboBox15.AddItem "Maiz Palomitas"
ComboBox15.AddItem "Aceite Palomitas"
ComboBox15.AddItem "Guantes y Mascarilla Desechables"
ComboBox15.AddItem "Pilas AA Microfono"
ComboBox15.AddItem "Bencina Servicio Traslados"
ComboBox15.AddItem "Confort Baby Shower"
ComboBox15.AddItem "Yogurt Baby Shower"
ComboBox15.AddItem "Show Personajes"
UserForm1.ComboBox16.Clear
ComboBox16.AddItem "Operacion Interno"
ComboBox16.AddItem "Anfitriona"
ComboBox16.AddItem "Inimacion Servicio Adicional"
ComboBox16.AddItem "Globos Redondos (Bazar Moly)"
ComboBox16.AddItem "Globos Flexias (Cueva Tango)"
ComboBox16.AddItem "Tatuajes Mixtos (Bazar Moly)"
ComboBox16.AddItem "Pulseras Fluor (Cueva Tango"
ComboBox16.AddItem "Pintura Facial Infantil (Chinos Coronel)"
ComboBox16.AddItem "Pintura Facial Fluor (Chinos Coronel"
ComboBox16.AddItem "Liquido Humo (Sodimac)"
ComboBox16.AddItem "Palos de Algodon Azucar"
ComboBox16.AddItem "Potes Algodon Azucar (Galeria Carrera)"
ComboBox16.AddItem "Azucar Palomitas y Algodon Azucar"
ComboBox16.AddItem "Colorantes Algodon Azucar"
ComboBox16.AddItem "Maiz Palomitas"
ComboBox16.AddItem "Aceite Palomitas"
ComboBox16.AddItem "Guantes y Mascarilla Desechables"
ComboBox16.AddItem "Pilas AA Microfono"
ComboBox16.AddItem "Bencina Servicio Traslados"
ComboBox16.AddItem "Confort Baby Shower"
ComboBox16.AddItem "Yogurt Baby Shower"
ComboBox16.AddItem "Show Personajes"
UserForm1.ComboBox17.Clear
ComboBox17.AddItem "Operacion Interno"
ComboBox17.AddItem "Anfitriona"
ComboBox17.AddItem "Animacion Servicio Adicional"
ComboBox17.AddItem "Globos Redondos (Bazar Moly)"
ComboBox17.AddItem "Globos Flexias (Cueva Tango)"
ComboBox17.AddItem "Tatuajes Mixtos (Bazar Moly)"
ComboBox17.AddItem "Pulseras Fluor (Cueva Tango"
ComboBox17.AddItem "Pintura Facial Infantil (Chinos Coronel)"
ComboBox17.AddItem "Pintura Facial Fluor (Chinos Coronel"
ComboBox17.AddItem "Liquido Humo (Sodimac)"
ComboBox17.AddItem "Palos de Algodon Azucar"
ComboBox17.AddItem "Potes Algodon Azucar (Galeria Carrera)"
ComboBox17.AddItem "Azucar Palomitas y Algodon Azucar"
ComboBox17.AddItem "Colorantes Algodon Azucar"
ComboBox17.AddItem "Maiz Palomitas"
ComboBox17.AddItem "Aceite Palomitas"
ComboBox17.AddItem "Guantes y Mascarilla Desechables"
ComboBox17.AddItem "Pilas AA Microfono"
ComboBox17.AddItem "Bencina Servicio Traslados"
ComboBox17.AddItem "Confort Baby Shower"
ComboBox17.AddItem "Yogurt Baby Shower"
ComboBox17.AddItem "Show Personajes"
UserForm1.ComboBox18.Clear
ComboBox18.AddItem "MarzoC19"
ComboBox18.AddItem "AbrilC19"
ComboBox18.AddItem "MayoC19"
ComboBox18.AddItem "JunioC19"
ComboBox18.AddItem "JulioC19"
ComboBox18.AddItem "AgostoC19"
ComboBox18.AddItem "SeptiembreC19"
ComboBox18.AddItem "OctubreC19"
ComboBox18.AddItem "NoviembreC19"
ComboBox18.AddItem "DiciembreC19"
ComboBox18.AddItem "ResumenC19"
End Sub
Private Sub UserForm_Initialize()
Dim intHojas As Integer
Dim i As Integer
intHojas = ThisWorkbook.Sheets.Count
For i = 6 To intHojas
Me.ComboBox3.AddItem ThisWorkbook.Sheets(i).Name
Next i
End Sub
Ese es el codigo en el que estoy trabajando.
Vamos por partes si dices que quieres cargar en un listbox más de 10 columnas de diferentes tablas entonces tienes un problema y la macro que te pase no te sirve porque Rowwsource solo te servirá para un un rango especifico de datos, es decir si si aplicas .rowsource="hoja!" & range("tabla").address y luego .rowsource="hoja2!" & ("tabla2"). Address, la ultima tabla sustituirá a la anterior, como mencione additem no te sirve porque lo máximo que maneja son 10 columnas así que solo quedan nos alternativas hacer una tabla temporal consolidada en una hoja aparte y cargarla con una matriz o con un rowsource, la otra es cargar todos los datos de las tablas a una matriz y de hay cargarlos al listbox1 mediante una matriz
Para ser muy especifico, lo que tu acabas de describir es lo que necesito hacer, ya que en el ListBox2 solo se cargare una sola tabla a la vez, cargare solo la que me interesa modificar el los TextBox, si tu dice que la reemplaza por la ultima seleccionada, es eso lo que necesito hacer.
El problema es que en codigo que me enviaste algo no funciona bien.
- Compartir respuesta
Dependiendo de en que fila comiencen tus datos, la propiedad ListIndex te puede ayudar.
Si tus datos comienzan en la fila 2. debes sumar 2 al ListIndex, si comienzan en la 3, le sumas 3 y así.
Ejemplo, suponiendo que los datos empiecen en la 2 (la 1 sea el encabezado):
Dim i As Long i = Me.ListBox1.ListIndex + 2 If i < 2 Then: Exit Sub Cells(i, 1).Value = "Valor de la Fila i, columna 1" Cells(i, 2).Value = "Valor de la Fila i, columna 2" 'etc etc'
Y eso también depende de como vas a actualizar los datos, dando click en un botón, o mientras escribes en un textbox en tiempo real, u otras formas. Pero esa seria la idea general.
Comienzan siempre de la fila 2 y lo que tengo hasta el momento, es lo siguiente.
Con un combobox, determino a hoja en la que deseo consultar los datos.
Estos datos de la hoja determinada los muestro en un listbox haciendo clic en un comandbuton
Luego selecciono cualquier fila del listbox y los datos me los muestra en unos textbox.
Hasta allí los puedo modificar, pero no sé cómo hacerlos volver desde esos textbox a la tabla Excell y en la misma fila desde donde los estoy consultado, es decir, poder reescribir los datos para actualizar la información.
- Compartir respuesta
[Hola Cristian. Si no entendí mal quieres que al seleccionar un itten del listbox, este lo puedas editar, para posteriormente poder actualizar.
Suponiendo que tienes 6 cajas de texto, una ves que selecciones el Itten en el listbox, se cargan las cajas y a partir de ahí podrás actualizar.
Private Sub ListBox1_Click() Cargar = ListBox1.ListIndex TextBox1 = ListBox1.List(Cargar, 0) TextBox2 = ListBox1.List(Cargar, 1) TextBox3 = ListBox1.List(Cargar, 2) TextBox4 = ListBox1.List(Cargar, 3) TextBox5 = ListBox1.List(Cargar, 4) TextBox6 = ListBox1.List(Cargar, 5) End Sub
Recuerda cambiar nombres a las cajas y listbox
Salu2 Carlos Arrocha
Gracias Carlos por responder.
Te cuento que hasta allí voy, pero una vez modificados ¿Como los registros de nuevo en la tabla?
Estoy intentando registrarlo con el mismo método que lo hago cuando los ingreso por primera vez, pero no me resulta.
[Hola. Pues es así. Una vez cargados en las correspondientes cajas de texto, realizas los cambios y por medio de un botón lo registras.
Es allí donde necesito ayuda, con código que me permita registrar la modificación de esos datos reescribiéndolos sobre la misma fila de la tabla en que están en Excel.
Quedo atento
Es que así es difícil por que no sé hasta donde llegas. Suponiendo que partimos de la información cargada en el listbox y que una vez haces click en un itten se llenan las cajas de texto que tienes. ¿Hasta ahí todo funciona bien?
Aporta alguna captura del código
[Hola. Pues a partir de que tengas cargadas las cajas, sigues con la macro de James Bond para actualizar los registros.
Si quieres algo más sencillo, colocas la siguiente en un botón
Private Sub BtnActualizar_Click() Dim Row As Range Hoja2.Activate 'Cambia nombre de la hoja For Each Row In [Tabla1].Rows If (Intersect(Row, [Tabla1[ID]]).Value = ComboID.Text) Then Intersect(Row, [Tabla1[DOC. CLIENTE]]).Value = TexDocumento.Text Intersect(Row, [Tabla1[NOMBRE]]).Value = TexNombre.Text Intersect(Row, [Tabla1[APELLIDO]]).Value = TexApellido.Text Intersect(Row, [Tabla1[DIRECCIÓN]]).Value = TexDireccion.Text Intersect(Row, [Tabla1[LOCALIDAD]]).Value = TexLocalidad.Text Intersect(Row, [Tabla1[C. POSTAL]]).Value = TexCPostal.Text Intersect(Row, [Tabla1[PROVINCIA]]).Value = TexProvincia.Text Intersect(Row, [Tabla1[PAÍS]]).Value = TexPais.Text Intersect(Row, [Tabla1[TELÉFONO]]).Value = TexTelefono.Text Intersect(Row, [Tabla1[CORREO]]).Value = TexCorreo.Text MsgBox "Datos Actualizados Satisfactoriamente", vbInformation Exit Sub End If Next End Sub
Donde pone "Tabla1" cambias el nombre de la tabla donde están los datos, y entre corchetes pones los encabezados de la tabla, OJO, tal como están y cambias los nombres de las cajas.
Salu2 Carlos Arrocha
- Compartir respuesta