Sei sulla pagina 1di 4

Como dejar textbox 1 (Folio) automático y protegido en

Userform
Hola amigos: A ver si alguien me pudiera dar un toque magistral con este código de un
Userform que saqué de este mismo foro. Se trata de dejar el TextBox1 (Folio), que corra en
forma automática tal como está, pero... que no pueda modificarse por el usuario al
momento de llamar el Userform. La idea es darle la partida en un número y que se
incremente automáticamente, pudiendo el usuario ingresar toda la otra información sin
manipular el folio. Osea, una cosa asi como proteger el TextBox1, que sea visible pero no
modificable.
Ojala me pueda haber dado a entender bien. Muchas gracias por su valiosa ayuda y clase
guia.
Disculpen no subir archivo, que aún no me resulta hacerlo.
Atte

Private Sub CommandButton1_Click()

Sheets("Banco").Cells(ult + 4, 1) = TextBox1.Value + 1 Folio consecutivo


Sheets("Banco").Cells(ult + 3, 2) = TextBox2 'para el resto la funcion toma el nvo valor
Sheets("Banco").Cells(ult + 3, 3) = TextBox3.Value
Sheets("Banco").Cells(ult + 3, 4) = TextBox4.Value
Sheets("Banco").Cells(ult + 3, 5) = TextBox5.Value
Sheets("Banco").Cells(ult + 3, 7) = TextBox7
Label6.Caption = "MOVIMIENTO NRO " & ult
SpinButton1.Max = ult
SpinButton1.Value = ult
End Sub

Private Sub SpinButton1_Change()


'Label7.Caption = SpinButton1.Value
uc = SpinButton1.Value
If uc >= 1 Or uc <= ult Then
Label6.Caption = "MOVIMIENTO NRO " & uc
TextBox1 = Sheets("Banco").Cells(uc + 3, 1)
TextBox2 = Sheets("Banco").Cells(uc + 3, 2)
TextBox3 = Sheets("Banco").Cells(uc + 3, 3)
TextBox4 = Sheets("Banco").Cells(uc + 3, 4)
TextBox5 = Sheets("Banco").Cells(uc + 3, 5)
TextBox6 = Sheets("Banco").Cells(uc + 3, 6)
TextBox7 = Sheets("Banco").Cells(uc + 3, 7)
End If
End Sub

Private Sub UserForm_Activate()


Me.Caption = "CONTROL BANCO"
If ult = 0 Then
Label6.Caption = "No Hay Registros "

Else
TextBox1 = Sheets("Banco").Cells(ult, 1)
TextBox2 = Sheets("Banco").Cells(ult, 2)
TextBox3 = Sheets("Banco").Cells(ult, 3)
TextBox4 = Sheets("Banco").Cells(ult, 4)
TextBox5 = Sheets("Banco").Cells(ult, 5)
TextBox6 = Sheets("Banco").Cells(ult, 6)
TextBox7 = Sheets("Banco").Cells(ult, 7)
Label6.Caption = "MOVIMIENTO NRO " & ult - 1
Label7.Visible = False
SpinButton1.SmallChange = 1
SpinButton1.Min = 1
SpinButton1.Max = ult
SpinButton1.Value = ult
End If
End Sub

Respuesta: Como dejar textbox 1 (Folio) automático y


protegido en Userform
Hola jose luna:
Private Sub UserForm_Activate()
textbox1.enabled = false
Me.Caption = "CONTROL BANCO"
If ult = 0 Then
Label6.Caption = "No Hay Registros "

Else
TextBox1 = Sheets("Banco").Cells(ult, 1)
TextBox2 = Sheets("Banco").Cells(ult, 2)
TextBox3 = Sheets("Banco").Cells(ult, 3)
TextBox4 = Sheets("Banco").Cells(ult, 4)
TextBox5 = Sheets("Banco").Cells(ult, 5)
TextBox6 = Sheets("Banco").Cells(ult, 6)
TextBox7 = Sheets("Banco").Cells(ult, 7)
Label6.Caption = "MOVIMIENTO NRO " & ult - 1
Label7.Visible = False
SpinButton1.SmallChange = 1
SpinButton1.Min = 1
SpinButton1.Max = ult
SpinButton1.Value = ult
End If
End Sub
o en propiedades del textbox1
en enabled coloca a false
Busca en excel ayuda F1 locked

asigar consecutivo en una userform

hola buenos dias


soy nuevo en esto de las user form tengo una pregunta.
como asignar a una userform un consecutivo, de forma que cuando yo le de enter al botón
comando me lo cargue automáticamente y sea visible en la userform y además me lo exporte a la
hoja de excel.
de igual forma quiero saber como cargar a la user form los datos ya diligenciados es decir crear el
modo consulta en la user form y modificar datos sin tener que ir a la hoja de Excel.
MUCHAS GRACIAS

Hola:
De mi sitio podés descargar un ejemplo llamado Interactuando con Userforms:
http://es.geocities.com/lacibelesdepunilla/descargas
Allí encontrarás un par de modelos para realizar Consultas y grabar, modificar o eliminar registros.
Los Userforms no 'guardan' información uan vez que se los cierra.... explicame un poco más cuál es
tu idea del consecutivo.
Podés tomar el valor de una celda e incrementarla en 1 al abrir el form:
Private Sub UserForm_Initialize()
TextBox1 = Sheets("Hoja2").Range("A2").Value + 1
End Sub
Y desde algún botón de cierre, incluir la instrucción que copiará el valor nuevamente a la celda:
Private Sub CommandButton1_Click()
Sheets("Hoja2").Range("A2").Value = val(textbox1)
End Sub

Saludos
Elsa
PD) En Manual del Userform encontrarás explicados todos los temas para trabajar con todo tipo
de formularios
http://es.geocities.com/lacibelesdepunilla/manuales

hola Elsa muchas gracias por tu respuesta


mi idea con el consecutivo es el siguiente:
tengo una userform la cual tengo que alimentar con una gran cantidad de datos" 100 o 200 datos
diarios aprox.) , tengo una columna donde quiero que cargue el consecutivo y que este siempre
visible en la userform, lo intente con tu aclaración pero el consecutivo no carga a la hoja de ecxel,
es visible pero quiero que cargue a la hoja.
además quiero crear el modo consulta para que cuando quiera buscar un consecutivo el me
cargue los datos que ya había ingresado anteriormente para no tener que buscar uno por uno

Entonces utilizá esta rutina para el inicio del UF:


Private Sub Userform_Initialize()
Textbox1.value = Sheets("Hoja1").Range("A65536").End(xlup).Value + 1
End Sub
Ajustá el nombre de tu hoja y la col que tendrá el consecutivo, también podés utilizar un Label en
lugar de un Textbox.
Luego al guardar los datos de ese registro, el consecutivo se guarda como un dato más, como te lo
indiqué en respuesta anterior.
Para realizar la búsqueda por consecutivo, fijate en el modelo recomendado: Interactuando con
Userforms. Allí creo utilizar un control combo, reemplazalo por tu control. Es la rutina del FIND....
 
Saludos
Elsa
http://es.geocities.com/lacibelesdepunilla

Potrebbero piacerti anche