Foros del Web » Soporte técnico » Ofimática »

Obligar a rellenar campos

Estas en el tema de Obligar a rellenar campos en el foro de Ofimática en Foros del Web. Hola, ¿Hay alguna opción en excel que haga que no permita guardar un cambio si no se ha rellenado unos campos determinados? A ver si ...
  #1 (permalink)  
Antiguo 07/01/2011, 09:27
 
Fecha de Ingreso: enero-2008
Mensajes: 122
Antigüedad: 16 años, 3 meses
Puntos: 0
Obligar a rellenar campos

Hola,
¿Hay alguna opción en excel que haga que no permita guardar un cambio si no se ha rellenado unos campos determinados? A ver si me explico. Yo quiero que si llega un usuario si escribe algo en el campo C pero deja el A o el B de esa fila en blanco, no permita grabar y muestre un aviso. ¿se puede hacer?¿Cómo?
Gracias
  #2 (permalink)  
Antiguo 09/01/2011, 23:33
Avatar de Perr0  
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 18 años, 11 meses
Puntos: 79
Respuesta: Obligar a rellenar campos

no se como guardaras, pero digamos que es un boton de macro

validas a, b y c

si estan las 3 en la macro colocas

if range("A1")<>"" AND range("B1")<>"" AND range("C1")<>"" then
'tu operacion para guardar
else
msgbox("error!!!")
end if

salu2
__________________
Numerador Mp3 en Access =)
http://www.mediafire.com/download/r9...pdw/mp3(2).zip
  #3 (permalink)  
Antiguo 10/01/2011, 03:44
 
Fecha de Ingreso: enero-2008
Mensajes: 122
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Obligar a rellenar campos

Ok, muchas gracias, pero una cosa en que menú pongo eso de las macros? Excel es un desconocido para mi :$
Saludos
  #4 (permalink)  
Antiguo 10/01/2011, 06:31
Avatar de Perr0  
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 18 años, 11 meses
Puntos: 79
Respuesta: Obligar a rellenar campos

en excle 2007

personalizar barra de herramientas

te vas a la ficha programador

primero insertas un separador (lo hace automatico parece)

luego insertas el icono que dice "Visual Basic"

despues si quieres aprender a ocuparlo, busca en google como manejar macros

si sabes algo de Visual Basic, te será facil

salu2
__________________
Numerador Mp3 en Access =)
http://www.mediafire.com/download/r9...pdw/mp3(2).zip
  #5 (permalink)  
Antiguo 10/01/2011, 10:23
 
Fecha de Ingreso: agosto-2007
Mensajes: 1.945
Antigüedad: 16 años, 8 meses
Puntos: 39
Respuesta: Obligar a rellenar campos

Alguna macro para agregar este codigo en

Private Sub Workbook_BeforeClose(Cancel As Boolean)
if range("A1")<>"" AND range("B1")<>"" AND range("C1")<>"" then
ActiveWorkbook.Save 'SERIA ALGO ASÍ
Else
msgbox("La linea A1, está incompleta, favor revise y proceda" & vbCrlf & vbcrlf & "Antes no podrá cerrar el libro"), , "vbInformation" + "ERROR DE CIERRE"
End if
End Sub

Del MsgBox faltaria:

Si llena las celdas mensionadas en el codigo, NO presenta mensage de error y cierra aceptando guardar.

Si falta llenar alguna de las celdas mensionadas, PRESENTA mensage de error y no cierra el libro mientras no llene las celdas respectivas

Por mi parte ya intente de varias formas pero no doy con ella, visto que mis conocimientos son debiles en esto de VBa y macros.
__________________
Las contraseñas son como la ropa interior: Nunca dejarlas donde la gente pueda verlas
http://i64.tinypic.com/rho40i.jpg

Última edición por JoaoM; 10/01/2011 a las 10:35
  #6 (permalink)  
Antiguo 14/01/2011, 06:19
 
Fecha de Ingreso: enero-2008
Mensajes: 122
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Obligar a rellenar campos

Muchas gracias a los dos voy a probar.
Saludos
  #7 (permalink)  
Antiguo 14/01/2011, 07:12
 
Fecha de Ingreso: enero-2008
Mensajes: 122
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Obligar a rellenar campos

Ya la he hecho y funciona bien lo que me falta es que no sé cómo hacer para que se ejecute siempre que alguien quiera guardar el documento. Por que claro le he asignado de teclado Ctrl+g y si intento guardar por teclado bien pero si le doy al icono de guardar o en archivo->guardar nos e ejecuta la macro...
Saludos
  #8 (permalink)  
Antiguo 14/01/2011, 15:19
 
Fecha de Ingreso: agosto-2007
Mensajes: 1.945
Antigüedad: 16 años, 8 meses
Puntos: 39
Respuesta: Obligar a rellenar campos

Explicanos en detalle como la hiciste.

Para que nosotros y otros usuarios en determinado momento que necesiten, tengan su ayuda a la mano
__________________
Las contraseñas son como la ropa interior: Nunca dejarlas donde la gente pueda verlas
http://i64.tinypic.com/rho40i.jpg
  #9 (permalink)  
Antiguo 17/01/2011, 07:18
 
Fecha de Ingreso: enero-2008
Mensajes: 122
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Obligar a rellenar campos

Pues básicamente la hice como tú me indicaste (muchisimas gracias).
En herramientas creé una macro y luego la modifiqué con el editor de visual. Como lo que queria era que si se escribía algo en la celda A1 obligará a escribir en la B1 y C1 antes de guardar la puse así:
Sub ObligarCelda()
If Range("A1") <> "" And (Range("B1") = "" Or Range("C1") = "") Then
MsgBox ("Error linea 1: Debe completar todos los datos." & vbCrLf & vbCrLf & "Antes no podrá cerrar el libro"), , "vbInformation" + "ERROR DE CIERRE"
Else: ActiveWorkbook.Save
End If
End Sub
Luego cuando la tuve temrinada la probé pulsando F5.
Ahora lo que me falta es que se ejecute automáticamente siempre que cualquier usuario intente guardar el libro. Como ví al crear la macro que se le podía asignar un atajod e teclado le asigné el atajo de guardar (Ctrl+g) pero claro he visto que con esto se ejecuta guardar la primera vez que lo pulso y la macro la segunda, por lo que no es una solución válida.

Saludos y gracias de nuevo.
  #10 (permalink)  
Antiguo 17/01/2011, 08:36
Avatar de Perr0  
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 18 años, 11 meses
Puntos: 79
Respuesta: Obligar a rellenar campos

Cita:
Iniciado por anterma Ver Mensaje
Ya la he hecho y funciona bien lo que me falta es que no sé cómo hacer para que se ejecute siempre que alguien quiera guardar el documento. Por que claro le he asignado de teclado Ctrl+g y si intento guardar por teclado bien pero si le doy al icono de guardar o en archivo->guardar nos e ejecuta la macro...
Saludos

tienes que llamar al sub beforesave del workbook

Código vb:
Ver original
  1. Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  2. MsgBox ("vas a guardar")
  3. End Sub

salu2
__________________
Numerador Mp3 en Access =)
http://www.mediafire.com/download/r9...pdw/mp3(2).zip
  #11 (permalink)  
Antiguo 17/01/2011, 14:14
 
Fecha de Ingreso: agosto-2007
Mensajes: 1.945
Antigüedad: 16 años, 8 meses
Puntos: 39
Respuesta: Obligar a rellenar campos

Cita:
Iniciado por Perr0 Ver Mensaje
tienes que llamar al sub beforesave del workbook

Código vb:
Ver original
  1. Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  2. MsgBox ("vas a guardar")
  3. End Sub

salu2
Lo que pasa es que si tienes las celdas del rango VACIAS, de todos modos te permite guardar y eso es lo que no se quier permitir.

Si cierras el libro y las celdas respectivas no estan con algun caracter, cierras el libro y NO DEBE PERMITIR cerrar el libro mientras las celdas no tenga cualquier caracter, y tanto la tuya como la que puse yo, permiten cerrar el libro estando las celdas vacias.

¿Cual la macro?
__________________
Las contraseñas son como la ropa interior: Nunca dejarlas donde la gente pueda verlas
http://i64.tinypic.com/rho40i.jpg
  #12 (permalink)  
Antiguo 17/01/2011, 14:49
 
Fecha de Ingreso: agosto-2007
Mensajes: 1.945
Antigüedad: 16 años, 8 meses
Puntos: 39
Respuesta: Obligar a rellenar campos

Cita:
Iniciado por JoaoM Ver Mensaje
Alguna macro para agregar este codigo en

Private Sub Workbook_BeforeClose(Cancel As Boolean)
if range("A1")<>"" AND range("B1")<>"" AND range("C1")<>"" then
ActiveWorkbook.Save 'SERIA ALGO ASÍ
Else
msgbox("La linea A1, está incompleta, favor revise y proceda" & vbCrlf & vbcrlf & "Antes no podrá cerrar el libro"), , "vbInformation" + "ERROR DE CIERRE"
End if
End Sub

Del MsgBox faltaria: algun codigo para que Si llena las celdas mensionadas en el codigo, NO presenta mensage y cierra aceptando guardar.

Si falta llenar alguna de las celdas mensionadas, PRESENTA mensage y NO DEJA CERRAR EL LIBRO mientras no llene las celdas respectivas

Por mi parte ya intente de varias formas pero no doy con ella, visto que mis conocimientos son debiles en esto de VBA y macros.
Se que el codigo es este pero como dije, en el MsgBox falta completar el codigo para lo expuesto.

Talves la posicion de las lienas de rutina o algo que yo no soy capaz de hacer pero, la posicion ya probe cambiarlas pero no me da lo requerido
__________________
Las contraseñas son como la ropa interior: Nunca dejarlas donde la gente pueda verlas
http://i64.tinypic.com/rho40i.jpg
  #13 (permalink)  
Antiguo 19/01/2011, 10:23
 
Fecha de Ingreso: enero-2008
Mensajes: 122
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Obligar a rellenar campos

No me importa que permita cerrar, simplemente con que nos e guarden los cambios me serviría.
  #14 (permalink)  
Antiguo 19/01/2011, 15:51
 
Fecha de Ingreso: agosto-2007
Mensajes: 1.945
Antigüedad: 16 años, 8 meses
Puntos: 39
Respuesta: Obligar a rellenar campos

Quisiera saberlo tambien para agregar a la macro

Edito:

Logre que alguien me ayudara con el codigo.

Tengo a agradecer a ioyama, colaborador en otro foro, la cual programó el codigo

Para agradecerle dejo su link Pido que nadie del STAF o direccion, se moleste por esto pero soy de los que pienso que al que ayuda, hay que agradecerle

El codigo para futuros buscadores

En un modulo
Cita:
Sub Bt()
If Range("A1") <> "" And Range("B1") <> "" And Range("C1") <> "" Then
ActiveWorkbook.Save 'SERIA ALGO ASÍ
Else
MsgBox ("Una de las celdas A1, B1 y C1 está(n) vacia(s), favor revise y rellene" & vbCrLf & vbCrLf & "Antes no podrá cerrar el libro"), , "vbInformation" + "ERROR DE CIERRE"
End If
End Sub
En ThisWorkbook
Cita:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Range("A1") = "" Or Range("B1") = "" Or Range("C1") = "" Then
MsgBox ("Una de las celdas A1, B1 y C1 está(n) vacia(s), favor revise y rellene" & vbCrLf & vbCrLf & "Antes no podrá cerrar el libro"), , "vbInformation" + "ERROR DE CIERRE"
Cancel = True
End If
End Sub
__________________
Las contraseñas son como la ropa interior: Nunca dejarlas donde la gente pueda verlas
http://i64.tinypic.com/rho40i.jpg

Última edición por JoaoM; 20/01/2011 a las 17:21 Razón: Agregar datos

Etiquetas: campos, rellenar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 08:40.