Jump to content

Bucle para borrar varios Combobox


Recommended Posts

Hola a todos. Me gustaría me ayuden con lo siguiente. Quiero hacer una macro que borre el contenido de 10 combobox cuyo nombre es CbxComp1.....al....CbxComp10.

Una forma de hacerlo es obviamente la que sigue (y me funciona):

CbxComp1.Value = ""
    CbxComp2.Value = ""
    CbxComp3.Value = ""
    CbxComp4.Value = ""
    CbxComp5.Value = ""
    CbxComp6.Value = ""
    CbxComp7.Value = ""
    CbxComp8.Value = ""
    CbxComp9.Value = ""
    CbxComp10.Value = ""

 

El tema es que quiero hacerlo con un bucle porque voy otras situaciones similares pero con más comboxes. He probado lo siguiente pero no me funciona (no soy experto):

Dim i As Byte
Dim k As String

For i = 1 To 10
    k = "CbxComp" & i & ".value"
    k = ""
Next i

 

Agradezco la ayuda de antemano

Link to post
Share on other sites
Hace 17 minutos , jik dijo:

Agradezco la ayuda de antemano

El código que buscas es el siguiente. Lo puedes asignar a un botón, o incluirlo en algún módulo

Dim ctrl As Control

For Each ctrl In UserForm1.Controls
  If TypeName(ctrl) = "ComboBox" Then
  	ctrl.clear
  End If
Next
Link to post
Share on other sites

Muchas gracias por la respuesta pero no me sirve por 2 motivos:

1) borra todos los combobox del formulario y yo sólo quiero los 10 que indiqué

2) borra el contenido y la lista queda en blanco. Yo necesito que la lsita quede con contenido para elegir un nuevo valor.

Saludos y muchas gracias.

Link to post
Share on other sites

Con la solución aportada por Haplox, cambiando "ComboBox" por "Label".

Dim ctrl As Control

For Each ctrl In Controls
  If TypeName(ctrl) = "Label" Then
  	ctrl.Caption = ""
  End If
Next

 

Edited by Antoni
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Crear macros Excel

  • Posts

    • Private Sub TextBox1_Change() ActiveSheet.Range("C6").Value = TextBox1.Text TextBox3 = Range("C8").Text End Sub Private Sub TextBox2_Change() ActiveSheet.Range("C7").Value = TextBox2.Text TextBox3 = Range("C8").Text End Sub Private Sub CommandButton1_Click() TextBox1 = Empty TextBox2 = Empty TextBox3 = Empty TextBox1.SetFocus End Sub  
    • este es el archivo con userform   Libro1.xlsm
    • buen dia, subo el archivo con userform gracias por tu apoyo Libro1.xlsx
    • Buenos días estimados, Tengo un archivo en excel, con unos datos que proviene de SAP, eso lo llevo a una consulta en power query para modelarlo y llevarlo a un panel. La consulta tiene información sensible que no quisiera que otros usuarios tengan acceso. Como podría ocultar esas consultas, bloquear  en el panel la ventana de Obtener y transformar, o alguna solución. De antemano muchas gracias! Saludos! 
    • Hola a todos!!!  Tengo la siguiente tabla (también está adjunta) ¿Cómo puedo hacer para saber quien ha trabajado con quien? Es decir, quiero filtrar de tal manera que en el momento en el que escoja a Héctor Robles el resultado sean las filas de Pelayo García (coinciden en la película Tenet) y Santiago López (coinciden en la película Django)   Muchas gracias por vuestra ayuda!!! Ejemplo Foro.xlsx
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy