Pregunta Reducir lines a codigo

  • viernes, 01 de junio de 2012 1:47
     
     

    Tengo office 2010 y lo que sigue es para macro en Excel 2010

    El tablero esta en hoja1 NO es formulario

    Tengo varios TextBox en un tablero en la hoja1 (no es formulario) y quiero reducir a su minima expresion la cantidad de lineas.

    Ahora mismo tengo cada TextBox a: TextBox1.Value = "" sigue el 2, 3 ,4 ect ect, son 12

    Tengo este codigo

    Rem Vacia solamente los TextBox
    Dim Clear 'variable para los controles TextBox
    For Each Clear In Sheets(1).Controls 'recorremos todos los controles en el userform llamado Formulario
    If TypeName(Clear) = "TextBox" Then 'verificamos que sea SOLO control Textbox
    Clear.Value = "" 'Limpiamos los TextBox
    End If
    Next

    pero me dá error 438 en la linea    For Each Clear In Sheets(1).Controls

    Solo cambie formulario por Sheets(1)

    Tengo estwe tambien pero nada

    'For i = 1 To n_controles
    'nombre_control = Sheets(1).Controls(i - 1).Name
    'If Mid(nombre_control, 1, 3) = "Txt" Then
    'Sheets(1).Controls(i - 1).Text = ""
    'End If
    'Next

    ¿Podria alguien darme una manita?

Todas las respuestas

  • martes, 05 de junio de 2012 4:04
     
     

    Estimado:

    No se entiende la consulta, puedes ser un poco mas claro para poder ayudarte,

    Gracias,


    Juan Mora R. - Software Developer Junior - Aiep Chile.

  • miércoles, 06 de junio de 2012 0:42
     
      Tiene código
    Private Sub ButonLimpia_Click()
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    Rem Limpia los TextBox y 1 ComboBox
    ComboBox1.Text = ""
    TextBox1.Value = ""
    TextBox2.Value = ""
    TextBox3.Value = ""
    TextBox4.Value = ""
    TextBox5.Value = ""
    TextBox6.Value = ""
    TextBox7.Value = ""
    TextBox9.Value = ""
    TextBox10.Value = ""
    TextBox12.Value = ""
    TextBox13.Value = ""
    cmbEdit_Insrt_Elim.Enabled = False
    cmbEdit_Insrt_Elim.Caption = "Edita/Inserta/Elimina"
    OptInsertar.Visible = True
    OptEditar.Visible = True
    OptEliminar.Visible = True
    OptInsertar.Value = False
    OptEditar.Value = False
    OptEliminar.Value = False
    Application.EnableEvents = True
    Application.ScreenUpdating = True
    End Sub
    Quisiera reducir el numero de lines al minimo pero que me hiciera la misma funcion, LIMPIAR los objectos