Vaciar los textboxes ComboBox

Hola,

Estoy creando un formulario pero encuentro algunos problemas...

De hecho, aún tengo algunos obstáculos que he intentado aplicar a los comandos, pero sigo teniendo depuración.

Aquí está el archivo:
https://www.cjoint.com/c/HHyttDOtEsh

1. Me gustaría en mi archivo de Excel (hoja « Model »), cuando haga clic en « GO » se abra el formulario y que automáticamente las celdas (D17 :G20) y (G11 :H13) queden vacías. Ya tengo mi comando para abrir el formulario con el botón « GO », pero con diferentes pruebas no he logrado borrar esas celdas de la hoja « Model »

2. En mi formulario, he añadido un botón « REFRESH ». Con este botón, he conseguido borrar las celdas (D17 :G20) y (G11 :H13) de la hoja « Model ». Pero también me gustaría vaciar los combobox (1 y 2), así como el TextBox (6,7,8 y 9). Pero con los comandos que he probado no funciona…

3. No sé si es posible pero, ¿podría hacer que aparezcan los siguientes comandos únicamente a partir de que haya rellenado los combobox1 y Combobox2 (asociado al textBox18).
-Etiquetas (4 a 12)
-TextBox (2 a 17)
-CommandButton (3,4 y 5)

¡Muchas gracias de antemano por vuestra ayuda!

Lucas

5 respuestas

  1. Hola
    hay que hacer una rutina lo más simple posible

    Dim Ctrl As Control
    For Each Ctrl In Me.Controls
    Select Case Left(Ctrl.Name, 4)
    Case "Text"
    Ctrl.Value = ""
    Case "Comb"
    Ctrl.ListIndex = -1
    End Select
    Next Ctrl


    Adiós
    Maurice
    0
    1. Colaborador
      Hola,

      Como esto:

      Private Sub CommandButton6_Click() Reset End Sub Private Sub Reset() Sheets("Model").Range("D17:G20").ClearContents Sheets("Model").Range("G11:H13").ClearContents ComboBox1.Clear ComboBox2.Clear TextBox6.Text = "" TextBox7.Text = "" TextBox8.Text = "" TextBox9.Text = "" End Sub Private Sub UserForm_Initialize() Reset ComboBox1.List = Application.Transpose(Range("MFA")) End Sub 


      --
      @+ Le Pivert
      0
      1. Hola cs_LePivert,
        ¿Podrías subir el archivo que modificaste de Ofeu, ya que yo no logro ver la imagen de arriba?
        Me gustaría saber por qué se desincroniza con el archivo original.
        En un Mac, no hay problema.....
        0
      2. Hola Pivert,

        De hecho, con las demás comangue que he probado, así como la que me propusiste, obtengo el mismo mensaje de error:

        Error de ejecución '1004'
        No se puede leer la propiedad Vlookup de la clase WorkSheetFunction

        Luego me dirige a esta parte de mi código que busca el valor de una celda en función de mi TextBox18.

        Private Sub TextBox18_Change()
        Dim myRange As Range
        Set myRange = Worksheets("variablesX").Range("A8:I52")
        TextBox2.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 2, False)
        TextBox10.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 3, False)
        TextBox3.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 4, False)
        TextBox11.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 5, False)
        TextBox4.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 6, False)
        TextBox12.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 7, False)
        TextBox5.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 8, False)
        TextBox13.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 9, False)

        Dim myRange2 As Range
        Set myRange2 = Worksheets("Ranges_2").Range("A2:I46")
        TextBox14.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange2, 3, False)
        TextBox15.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange2, 5, False)
        TextBox16.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange2, 7, False)
        TextBox17.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange2, 9, False)

        End Sub

        He intentado buscar otras soluciones y plantear la pregunta en otros foros, pero se vuelve complejo ;-)

        ¡Gracias por la disponibilidad!

        Lucas
        0
      3. Colaborador
        Hola f894009,

        Aquí está el archivo

        https://www.cjoint.com/c/HHzpCjKEQUQ

        Ofeu,

        Esto funciona muy bien, no hay ningún mensaje de error para mí

        Error de ejecución '1004'
        No se puede leer la propiedad Vlookup de la clase WorkSheetFunction


        esto no tiene nada que ver con la petición inicial de eliminar!

        intenta usar las etiquetas como indiqué, ¡los códigos son mucho más legibles!

        @+
        0
      4. Hola,

        Cuando tenga el error, haga clic en depurar y pase el cursor del ratón sobre TextBox18 para ver su contenido.
        0
      5. He intentado buscar el error.
        En mi
        Private Sub TextBox18_Change (cambié “Change” por “AfterUpdate”) y funciona el botón REFRESH, pero:

        Mis textBox (2 a 17) desaparecen.
        Quizás tenga que volver a trabajar en mis funciones .visible !

        Además, cuando hago clic en REFRESH, mis listas desplegables ya no muestran los datos.

        Estoy intentando encontrar una solución !!!

        Gracias
        Saludos cordiales
        Lucas
        0
    2. Hola,
      buscar un comando para borrar las combobox
      Es .Clear para cada combo......
      No hay TextBox18!!!!!!!!!!!!!!!! si la encuentro
      La protección de la hoja no sirve de nada si no están bloqueadas las celdas............
      0
      1. Rebonjour,

        Gracias, también había probado estas órdenes:

        para el CommandButton1 (en mi hoja de Excel) :

        'para abrir el formulario, y funciona bien

        Private Sub CommandButton1_Click()
        Application.DisplayAlerts = False
        ActiveSheet.ShowDataForm
        Application.DisplayAlerts = True

        Next

        'para borrar las celdas de la hoja de Excel

        Sheets("Model").Range("D17:G20").ClearContents
        Sheets("Model").Range("G11:H13").ClearContents

        'pero este comando no funciona, y ya probé otras órdenes y nada

        End Sub

        Luego, cuando el formulario está abierto, tengo el CommandButton6

        Private Sub CommandButton6_Click()

        'para borrar las celdas de la hoja de Excel, la misma acción que para el CommandButton1 que está presente en la hoja de Excel y no en el formulario. Este comando funciona bien, las celdas se vacían en cuanto hago clic en el CommandButton6.

        Sheets("Model").Range("D17:G20").ClearContents
        Sheets("Model").Range("G11:H13").ClearContents

        'Quería además con el CommandButton6, vaciar combobox y TextBox, a continuación mi código. CEpendant, cela no funciona.

        ComboBox1.Clear
        ComboBox2.Clear
        TextBox1.Value = ""

        End Sub

        Mercí de su disponibilidad !
        Cdlt
        Lucas
        0
    3. Hola,

      No puedo modificar su archivo en Windows, problema de memoria insuficiente mientras 1/4 de la memoria RAM está ocupada!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      Voy a mirar en Mac, pero ya he tenido problemas para abrir un archivo con UF después de modificarlo en Windows.
      Así que ......
      ¿Puede ponerlo disponible de nuevo?
      0