Programación de Macros (ListBox con hoja en excel

Hola amig@s quiero preguntarles lo siguiente.
Resulta que tengo dentro de una Userform un texto y un Listbox en el Listbox deben de aparecer los registros que se han adjuntado desde Los textos y ademas debe de aparecer en la Ultima Fila de la hoja el registro correspondiente al ultimo registro del ListBox y no el primero como me esta sucediendo, el código que tengo es el siguiente:
Private Sub CommandButton2_Click()
If TextBox2 = "" Then
MsgBox "Debe ingresar nombre"
Else:
If TextBox2 <> -1 Then
ListBox1.AddItem (TextBox2.Value)
End If
End If
TextBox2 = ""
ListBox1.Selected(ListBox1.ListCount - 1) = True
Dim iFila As Long
Dim ws As Worksheet
Set ws = Worksheets(5)
iFila = ws.Cells(Rows.Count, 5) _
  .End(xlUp).Offset(1, 0).Row
  Dim fila As Integer
For fila = 0 To ListBox1.ListCount - 1
  Dim j
 ' OJO AQUI ESTA EL INCONVENIENTE:
  j = Val(ListBox1.ListCount)
  Cells(iFila, 5) = ListBox1.List(j, 0)
  Cells(iFila, 5).Font.ColorIndex = 30
  ActiveSheet.Range("e1").End(xlDown).Activate
ws.Cells(iFila, 1).Value = "SubCapítulo"
On Error GoTo ErrorNumeracion
ws.Cells(iFila, 2).Value = (ws.Cells(Rows.Count, 2) _
  .End(xlUp).Offset(0, 0).Value) + 1
Exit Sub
ErrorNumeracion:
 ws.Cells(iFila, 2).Value = 1
Next
 iFila = ws.Cells(Rows.Count, 40) _
  .End(xlUp).Offset(1, 0).Row
ws.Cells(iFila, 40).Value = Me.ListBox1.Value
 Range("a1").Activate
 End Sub

1 Respuesta

Respuesta
1
¿Qué te parece si primero se alimenta los datos a la Hoja5 y luego desde allá se carga el ListBox?
Ya pude arreglar esto, pero ahora tengo un problema resulta que puedo borrar una lista solo cuando tengo varios registros dentro de la hoja, pero cuando solo tengo uno me borra el primer registro, otro caso es en otra hoja sucede lo mismo pero cuando se va a insertar el primer registro no me lo inserta completo dentro de una fila.
El código que tengo para borrar registros es el siguiente:
Private Sub CommandButton3_Click()
If ListBox1.ListIndex <> -1 Then
ListBox1.RemoveItem (ListBox1.ListIndex)
 Selection.EntireRow.Delete
TextBox2 = ""
End If
End Sub
Y el código para insertar registros lo mandaría por email por que es algo extens... gracias!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas