Listbox que imprima los valores en determinadas celdas de una hoja y no me tome los del combo

Estoy realizando una macro excel .. Resulta que tengo una hoja de nombre BD en el cual el rango D, E, F tienen valores desde la celda numero dos hasta donde lleguen los datos.

Tengo un frame con combobox y listbox el combobox me carga todos los datos del rango D de la hoja BD y el listbox me imprime los valores del rango E que al seleccionar con el evento click del combo box me los muestra en el listbox y si el valor en el combobox es repetido entonces me bota esos valores que están unidos a los repetido en el rango D.

Hasta ahí todo bien, pero cuando le agregue un botón y que me imprimiera en una hoja llamado LISTA esos valores que hay en listbox solo me imprime los del combobox

Es como si en vez de imprimir los del listbox o copiarlos tomara los del combobox que me permiten botar los valores que necesito en el listbox.


¿Por favor que puedo hacer? Necesito que me impriman los del listbos y no los del combobox en la hoja LISTA


Agradezco su colaboración

1 respuesta

Respuesta
1

¿Puedes mostrar el código que usas para imprimir los valores del listbox, para poder ver el error en el código?

este es el código que uso para que me imprima en la hoja LISTA los valores del listbox

Private Sub ListBox1_Click()
Sheets("Lista").Select
Range("C8").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell = ListBox1.Text
End Sub


y este es el código que uso para que al dar click en el combobox me bote los valores siguientes del rango D en el listbox es decir :

RANGO D RANGO E

<em style="line-height: 1.5em;">234 1475-6

235 859-4

234 1475-7


el combo box me carga el rango de los datos

y al dar click en uno de estos datos en el listbox me sale si es repetido los demás valores (Rango e) u otro valor que seleccione en el combo


Private Sub ComboBox1_Click()
ListBox1.Clear
valor = ComboBox1.Value
Set busca = Sheets("BD").Range("D2:D100").Find(valor, LookIn:=xlValues, lookat:=xlWhole)
If Not busca Is Nothing Then
ubica = busca.Address
Do
ListBox1.AddItem busca
i = ListBox1.ListCount - 1
ListBox1.List(i, 1) = busca.Offset(0, 1)
Set busca = Sheets("BD").Range("E2:E100").FindNext(busca)
Loop While Not busca Is Nothing And busca.Address <> ubica
End If
End Sub


Al darle en el botón me imprime los valores del combobox y no los del listbox

Gracias por su colaboración


No veo el código del botón, pero bueno seria algo como

Private Sub CommandButton1_Click()
    Dim valores As Variant
    Dim celdaInicial As String
    celdaInicial = "A1"
    valores = ListBox1.List
    If UBound(valores) >= 0 Then
        Sheets("Lista").Range(celdaInicial).Resize(UBound(valores) + 1, 1) = valores
    End If
End Sub

donde celdaInicial es la celda donde se va a empezar a poner los valores del listbox, en este caso puse en la celda A1.

el frame nunca tuvo código del botón , use el click del listbox y con este evento me imprimía en la hoja

Private Sub Listbox()
Range("C8").Select
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell = ListBox1.Text



Tienes algún correo en donde pueda enviarte mi archivo

la verdad use el código y sigue igual me copia los datos del combobox es como si en el código del combobox estuviera el error . No doy con el problema y llevo días buscando como hacerla funcionar ..por favor te pido que me colabores

Agradezco su colaboración

el código del botón que do así :

Private Sub CommandButton1_Click()
Dim valores As Variant
Dim celdaInicial As String
celdaInicial = "C8"
valores = ListBox1.List
If UBound(valores) >= 0 Then
Sheets("Lista").Range("C8").Resize(UBound(valores) + 1, 1) = valores
End If
End Sub

Creo que ya te entendí, prueba con este código

[code]área de "Controles", haz clic donde dice "Modo Diseño", después haz clic derecho en el Listbox, y selecciona la opción propiedades, te saldrá una ventana con las propiedades del Listbox, entre las propiedades busca uno que dice "TextColumn", y ponle de valor "2" sin comillas, para indicarle que tome el valor de la columna 2, cierra la ventana y haz clic en "Modo Diseño" y ya debe funcionar.

El listbox tiene dos columnas, la primera son los valores del combobox y la segunda son sus propios valores, por eso tienen que poner que tome como valores la columna 2.

Muchas gracias realmente me funciono ¡¡

Ahora quería pedirte otra pequeña ayuda,,

como puedo modificar ese mismo código del combobox , como ya me tomo el rango E me tome el rango F Y me los muestre en otro listbox o textbox que tambien deben imprimirse en la hoja.

es decir en esa hoja me imprime el rango E que imprime en la hoja ("Lista") Rango("C8") Y rango F que debe imprimir en la hoja ("Lista") Rango("B8") .

Agradezco su colaboracion..

Si no tienes mas dudas debes cerrar la pregunta.

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas