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,

    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
  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. 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
  4. 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