Cuando intento asignar el valor de un textbox a una celda excel me envía un error

Sucede que cuando intento asignar el valor de un textbox a una celda excel me envia un error y lo hago de la siguiente manera
Sub Agregar()
Sheets("Base").Select
Range("B8").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = TextBox1.Value
End Sub
Por algun motivo no me reconoce el Textbox.

1 respuesta

Respuesta
1
¿Qué tipo de textbox estás utilizando? ¿En un Userform o en una hoja y en ese caso con qué barra?
Bueno, son detalles que siempre debes aclarar en una consulta.
Voy a interpretar que se trata de un control dibujado en la hoja con la barra Cuadro de Controles.
En ese caso las líneas deben quedar así:
Sub Agregar()
Sheets("Base").Select
ActiveSheet.Range("B8").Select     'es probable que aquí también te salte error, por eso agregué la hoja activa
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = ActiveSheet.TextBox1.Value
End Sub
Si esto resolvió tu consulta, no olvides finalizarla.
En primer lugar quisiera agradecer la pronta respuesta y quiero contarte que el textbox esta en otra hoja dentro del mismo libro (lo hice =INCRUSTAR("Forms.TextBox.1";"")) con el ejemplo que me acabas de enviar me arroja error 438. te pido tambien disculpas por mi ignorancia pero la verdad es que estoy recien aprendiendo como usar estas macros. ahora lo intente de esta manera
Sub Agregar()
Sheets("Base").Select
Range("B8").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = TextBox1
End Sub
No me arroja error pero en la celda solo se posiciona y pasa los datos del Textbox
Quisiera agradecer la ayuda otorgada y les cuento que solucione el inconveniente no se si sera la opción mas optima, pero funciona.
Sub Agregar()
If (Worksheets("Ingreso").TextBox1 <> "") And (Worksheets("Ingreso").TextBox2 <> "") Then
    Sheets("Base").Select
    Range("B8").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
    ActiveCell.Value = Worksheets("Ingreso").TextBox1
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Value = Worksheets("Ingreso").TextBox2
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Value = Worksheets("Ingreso").TextBox3
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Value = Worksheets("Ingreso").TextBox4
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Value = Worksheets("Ingreso").TextBox5
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Value = Worksheets("Ingreso").TextBox6
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Value = Worksheets("Ingreso").TextBox7
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Value = Worksheets("Ingreso").TextBox8
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Value = Worksheets("Ingreso").TextBox9
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Value = Worksheets("Ingreso").TextBox10
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Value = Worksheets("Ingreso").TextBox11
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Value = Worksheets("Ingreso").TextBox12
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Value = Worksheets("Ingreso").TextBox13
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Value = Worksheets("Ingreso").TextBox14
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Value = Worksheets("Ingreso").TextBox15
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Value = Worksheets("Ingreso").TextBox16
    Sheets("Ingreso").Select
    Worksheets("Ingreso").TextBox1 = ""
    Worksheets("Ingreso").TextBox2 = ""
    Worksheets("Ingreso").TextBox3 = ""
    Worksheets("Ingreso").TextBox4 = ""
    Worksheets("Ingreso").TextBox5 = ""
    Worksheets("Ingreso").TextBox6 = ""
    Worksheets("Ingreso").TextBox7 = ""
    Worksheets("Ingreso").TextBox8 = ""
    Worksheets("Ingreso").TextBox9 = ""
    Worksheets("Ingreso").TextBox10 = ""
    Worksheets("Ingreso").TextBox11 = ""
    Worksheets("Ingreso").TextBox12 = ""
    Worksheets("Ingreso").TextBox13 = ""
    Worksheets("Ingreso").TextBox14 = ""
    Worksheets("Ingreso").TextBox15 = ""
    Worksheets("Ingreso").TextBox16 = ""
    MsgBox ("Los datos fueron ingresados correctamente")
Else
    MsgBox ("Rol y Año son datos obligatorios, si uno de estos esta en blanco no es posible continuar. Verifique que estos campos esten completos e intente agregar nuevamente")
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas