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

Validar datos en excel

Estas en el tema de Validar datos en excel en el foro de Ofimática en Foros del Web. Hola a todos, espero me podais ayudar con un problema que tengo. tengo un rango de celdas (F4:F10000), lo que intento es lo siguiente: * ...
  #1 (permalink)  
Antiguo 23/08/2010, 10:18
 
Fecha de Ingreso: septiembre-2005
Mensajes: 2
Antigüedad: 18 años, 7 meses
Puntos: 0
Validar datos en excel

Hola a todos, espero me podais ayudar con un problema que tengo.

tengo un rango de celdas (F4:F10000), lo que intento es lo siguiente:

* Que una vez que he introducido el dato, se posicione el cursor en la Celda A y la fila en la que estoy situado (EJ: Si estoy en la celda F4 una vez que pulse enter, se posicione en la celda F1

* Cuando lo intento de esta manera no me sale.



Private Sub auto_open()

ThisWorkbook.Worksheets(1).OnEntry = "Comprobar_Datos"
End Sub

Private Sub Comprobar_Datos()

Dim Rango_a_Comprobar As String

Rango_a_Comprobar = "F4:F10000"

If Not Application.Intersect(Application, Range(Rango_a_Comprobar)) Is Nothing Then Rellenar_Cabecera
End Sub


Hasta aqui todo bien pero cuando intento posicionarme en la primera celda de la fila, una vez que valida se cambia a la columna B en vez de mantenerse en la columna A.


Private Sub Rellenar_Cabecera

Dim Fila As Integer: Fila = ActiveCell.Rows
Dim Colu As Integer: Colu = ActiveCell.Column

If Cells(Fila,Colu-5).Value = "" then
Cells(Fila,Colu-5).Select
End If
End Sub


Me podeis hechar una mano y decirme como lo puedo solucionar?

Muchas gracias a todos
  #2 (permalink)  
Antiguo 23/08/2010, 10:30
Avatar de Monimo  
Fecha de Ingreso: noviembre-2007
Ubicación: Mexico Df
Mensajes: 742
Antigüedad: 16 años, 5 meses
Puntos: 69
Respuesta: Validar datos en excel

Cita:
Iniciado por FernandoML Ver Mensaje
Hola a todos, espero me podais ayudar con un problema que tengo.

tengo un rango de celdas (F4:F10000), lo que intento es lo siguiente:

* Que una vez que he introducido el dato, se posicione el cursor en la Celda A y la fila en la que estoy situado (EJ: Si estoy en la celda F4 una vez que pulse enter, se posicione en la celda F1

* Cuando lo intento de esta manera no me sale.



Private Sub auto_open()

ThisWorkbook.Worksheets(1).OnEntry = "Comprobar_Datos"
End Sub

Private Sub Comprobar_Datos()

Dim Rango_a_Comprobar As String

Rango_a_Comprobar = "F4:F10000"

If Not Application.Intersect(Application, Range(Rango_a_Comprobar)) Is Nothing Then Rellenar_Cabecera
End Sub


Hasta aqui todo bien pero cuando intento posicionarme en la primera celda de la fila, una vez que valida se cambia a la columna B en vez de mantenerse en la columna A.


Private Sub Rellenar_Cabecera


Dim Colu As Integer: Colu = ActiveCell.Column

If Cells(Fila,Colu-5).Value = "" then
Cells(Fila,Colu-5).Select
End If
End Sub


Me podeis hechar una mano y decirme como lo puedo solucionar?

Muchas gracias a todos
mmm y si en lugar de Cells(Fila,Colu-5).select pones Cells(Fila,Colu-6).select?


Copié tu código tal cual y me arrojó muchos errores, estas usando macros de excel??


Dim Fila As Integer: Fila = ActiveCell.Rows

esta parte la tuve que cambiar por Dim Fila As Integer: Fila = ActiveCell.Row Row sin la s y así ya me sale... ese es tu código tal cual?
__________________
La verdad es que lo que no quisiera dejar de hacer nunca (a parte de comer) es programar

Última edición por Monimo; 23/08/2010 a las 10:40
  #3 (permalink)  
Antiguo 23/08/2010, 10:44
Avatar de Monimo  
Fecha de Ingreso: noviembre-2007
Ubicación: Mexico Df
Mensajes: 742
Antigüedad: 16 años, 5 meses
Puntos: 69
Respuesta: Validar datos en excel

Yo tengo esto y así me funciona sin problema:


Private Sub auto_open()

ThisWorkbook.Worksheets(1).OnEntry = "Comprobar_Datos"
End Sub

Private Sub Comprobar_Datos()

Dim Rango_a_Comprobar As String

Rango_a_Comprobar = "F4:F10000"


Rellenar_Cabecera

End Sub


'Hasta aqui todo bien pero cuando intento posicionarme en la primera celda de la fila, una vez que valida se cambia a la columna B en vez de mantenerse en la columna A.

Private Sub Rellenar_Cabecera()

Dim Fila As Integer
Fila = ActiveCell.Row

Dim Colu As Integer
Colu = ActiveCell.Column

If Cells(Fila, Colu - 5).Value = "" Then
Cells(Fila, Colu - 5).Select
End If
End Sub
__________________
La verdad es que lo que no quisiera dejar de hacer nunca (a parte de comer) es programar
  #4 (permalink)  
Antiguo 23/08/2010, 10:44
 
Fecha de Ingreso: septiembre-2005
Mensajes: 2
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Validar datos en excel

Antes de nada muchas gracias por contestar,

Ya lo he intentado pero al poner -6 como no existe ninguna columna detras de la columna A me da un error de depuración y no puedo entender el porque lo hace.

He modificado la parte tambien que me has dicho perdoname pero ha sido un error a la hora de escribirlo. Lo tengo puesto como tu me has dicho.

Dim Fila As Integer: Fila = ActiveCell.Row

Muchas gracias de nuevo por contestar

Cita:
Iniciado por Monimo Ver Mensaje
mmm y si en lugar de Cells(Fila,Colu-5).select pones Cells(Fila,Colu-6).select?


Copié tu código tal cual y me arrojó muchos errores, estas usando macros de excel??


Dim Fila As Integer: Fila = ActiveCell.Rows

esta parte la tuve que cambiar por Dim Fila As Integer: Fila = ActiveCell.Row Row sin la s y así ya me sale... ese es tu código tal cual?
  #5 (permalink)  
Antiguo 23/08/2010, 10:53
Avatar de Monimo  
Fecha de Ingreso: noviembre-2007
Ubicación: Mexico Df
Mensajes: 742
Antigüedad: 16 años, 5 meses
Puntos: 69
Respuesta: Validar datos en excel

Ya modifiqué tu código esto me corre sin ningun problema y me posiciona en A. Puedes probarlo si quieres =) Saludos.
Código vb:
Ver original
  1. Private Sub auto_open()
  2.  
  3. ThisWorkbook.Worksheets(1).OnEntry = "Comprobar_Datos"
  4. End Sub
  5.  
  6. Private Sub Comprobar_Datos()
  7.  
  8. Dim Rango_a_Comprobar As String
  9.  
  10. Rango_a_Comprobar = "F4:F10000"
  11. If Intersect(ActiveCell, Range(Rango_a_Comprobar)) Is Nothing Then
  12. Exit Sub
  13. Else
  14. Rellenar_Cabecera
  15.  
  16.     End If
  17.  
  18.  
  19.  
  20. End Sub
  21.  
  22.  
  23. 'Hasta aqui todo bien pero cuando intento posicionarme en la primera celda de la fila, una vez que valida se cambia a la columna B en vez de mantenerse en la columna A.
  24.  
  25. Private Sub Rellenar_Cabecera()
  26.  
  27. Dim Fila As Integer
  28. Fila = ActiveCell.Row
  29.  
  30. Dim Colu As Integer
  31. Colu = ActiveCell.Column
  32.  
  33. If Cells(Fila, Colu - 5).Value = "" Then
  34. Cells(Fila, Colu - 5).Select
  35. End If
  36. End Sub
__________________
La verdad es que lo que no quisiera dejar de hacer nunca (a parte de comer) es programar

Etiquetas: excel
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.
Respuesta




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