No cargar los datos de un listbox

Private Sub CommandButton1_Click()
Dim final As Integer
Dim i As Integer
With frm_calcu
    Hoja3.Cells(1, 15) = .ComboBox2 & " " & .ComboBox3 & "-" & .ComboBox4 & "-" & .ComboBox5
End With
Me.ListBox1.ColumnCount = 2
    Me.ListBox1.ColumnWidths = "200pt;20pt"
    Me.ListBox1.AddItem Hoja3.Cells(1, 15)
    Me.ListBox1.List(i, 1) = Hoja3.Cells(1, 16)
     i = i + 1
End Sub

Buenos días 

Al ejecutar el código el resultado del código de la 2 del listbox1 se sobre escribe siempre el la primera fila del listbox.

Pueden decirme donde esta el error.

Respuesta
1

1 respuesta más de otro experto

Respuesta
2

Cambia esto

Me.ListBox1.ColumnCount = 2
Me.ListBox1.ColumnWidths = "200pt;20pt"
Me.ListBox1.AddItem Hoja3.Cells(1, 15)
Me.ListBox1.List(i, 1) = Hoja3.Cells(1, 16)

Por esto:

  With Me.ListBox1
    .ColumnCount = 2
    .ColumnWidths = "200pt;20pt"
    . AddItem Hoja3. Cells(1, 15)
    . List(.ListCount - 1, 1) = Hoja3. Cells(1, 16)
  End With


Pero hay varias cosas que no comprendo en tu macro. Si quieres te puedo ayudar con lo demás.

Explica cuál es el objetivo de tu código


Con esta línea agregas el dato de la celda "O1" al listbox

. AddItem Hoja3. Cells(1, 15)

Y con esta otra agregas el dato de la celda "P1" al listbox

.List(.ListCount - 1, 1) = Hoja3.Cells(1, 16)

¿Eso es realmente lo que necesitas?


También tienes esto:

With frm_calcu

Me. ListBox1

¿Cuántos listbox tienes abiertos?

Si solamente tienes abierto un listbox entonces no es necesario utilizar Me, ni tampor With. Podría ser así:

Private Sub CommandButton1_Click()
  Hoja3.Cells(1, 15) = ComboBox2 & " " & ComboBox3 & "-" & ComboBox4 & "-" & ComboBox5
  With ListBox1
    .ColumnCount = 2
    .ColumnWidths = "200pt;20pt"
    .AddItem Hoja3.Cells(1, 15)
    .List(.ListCount - 1, 1) = Hoja3.Cells(1, 16)
  End With
End Sub

¡Gracias! 

Perfecto 

Me agrada ayudarte ! Gracias! Por comentar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas