Listbox de seleccion multiple da Error

Me canse de buscar en todo internet, no encuentro la solucion tengo algo complejo pero lo hice mas simple y me figura el mismo error.
Hice un excel con userform1 que solo tiene un listbox1 que trae los datos de la celda H1 a H16 (H1:H16), y te deja hacer seleccion multiple, para luego pegar en la columna A, desde A1 para abajo, todos los valores seleccionados.
El problema esta en que cuando ejecuto me copia el primer valor seleccionado en A1 y luego dice:
Se ha producido el error '-2147024809 (80070057)' en tiempo de ejecucion
"no se puede obtener la propiedad List. Argumento no valido."
Les adjunto una imagen y el codigo que uso es :
*(en el listbox1 elijo la opcion de seleccion multiple desde propiedades)
En el UserForm1:

Private Sub CommandButton1_Click()
    Dim i As Byte, fila As Integer
      With ListBox1
        For i = 0 To .ListCount - 1
          If .Selected(i) = True Then
            fila = fila + 1
            Range("A" & fila) = .List(i, 0)
            Range("A" & fila) = .List(i, 1)
            Range("A" & fila) = .List(i, 2)
            Range("A" & fila) = .List(i, 3)
            Range("A" & fila) = .List(i, 4)
            Range("A" & fila) = .List(i, 5)
            Range("A" & fila) = .List(i, 6)
            Range("A" & fila) = .List(i, 7)
            Range("A" & fila) = .List(i, 8)
            Range("A" & fila) = .List(i, 9)
          End If
        Next
      End With
      End Sub
Private Sub UserForm_Initialize()
ListBox1.RowSource = ("H1:H16")
End Sub

Respuesta
2

[Hola

Prueba así

Private Sub CommandButton1_Click()
    Dim i As Byte, fila As Integer
      With ListBox1
        For i = 0 To .ListCount - 1
          If .Selected(i) = True Then
            fila = fila + 1
            Range("A" & fila) = .List(i, 0) ' columna 1
          End If
        Next
      End With
      End Sub
Private Sub UserForm_Initialize()
ListBox1.RowSource = ("H1:H16")
End Sub

Muchas gracias funciona perfecto! Y le va a ser útil a muchos foreros porque vi esta consulta en muchos lugares de internet
Palabra clave: pegar selección múltiple en excel macro vba - pasar selección múltiple a celdas vba macro excel - error en tiempo de ejecución al pasar de un listbox selección múltiple a excel macros vba - pegar listbox de selección múltiple en excel macro vba

1 respuesta más de otro experto

Respuesta
-1

El código está incompleto, donde pone Next tienes que poner Next i. Así le dices que pase al siguiente i.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas