** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - Anotar registros automaticamente
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoAnotar registros automaticamente

 Responder Responder
Autor
Mensaje
Miguel1963 Ver desplegable
Nuevo
Nuevo


Unido: 10/Marzo/2012
Localización: España
Estado: Sin conexión
Puntos: 0
Enlace directo a este mensaje Tema: Anotar registros automaticamente
    Enviado: 10/Marzo/2012 a las 18:19

Buenas tardes, estoy haciendo un control de contabilidad domestica en excel 2010,

Tengo 16 hojas y en cada hoja es una cuenta diferente , quiero insertar una hoja nueva que se llama Registro, entonces los datos que anote en la hoja registro cuando llegue la fecha vencida se anote automaticamente en la hoja que corresponda, por ejemplo en hoja registro:


FECHA CATEGORIA SUBCATEGORIA IMPORTE CUENTA
01/04/2012 Alimentacion Carrefour 12,00 € Visa
03/04/2012 Hipoteca Amortizacion 10,00 € BancoSantander
03/04/2012 Hipoteca Interes 8,00 € BancoSantander



















Entonces estos datos se registren en la cuenta que corresponda,

Espero explicarme ,

Tengo esta macro pero no me funciona, espero que me puedan ayudar

Muchas gracias



Sub archivar()
' pasa el importe a la cuenta que corresponde en su fecha de vencimiento
Dim r As Range
Dim hoj As String

t = Application.WorksheetFunction.CountA(Sheets("registro").Range("d4:d1048576")) + 3
If t <= 3 Then Exit Sub
Application.ScreenUpdating = False


For Each r In Sheets("Registro").Range("d4:" & "d" & t)
    If r = Date And r.Offset(0, -1) = Empty Then
       r.Offset(0, -1) = "x"
       hoj = r.Offset(0, 10)
       ActiveSheet.Range("d" & r.Row & ":" & "i" & r.Row).Select
       Selection.Copy
       Sheets(hoj).Select
       ActiveSheet.Paste
       Application.CutCopyMode = False
       Sheets("registro").Select
    End If
Next

Set r = Nothing
Application.ScreenUpdating = True


End Sub

Arriba
Emilio Ver desplegable
Administrador
Administrador

Santander

Unido: 08/Agosto/2004
Localización: España
Estado: Sin conexión
Puntos: 18830
Enlace directo a este mensaje Enviado: 10/Marzo/2012 a las 18:26
Hola, bienvenido al foro!
 
me temo que no expones suficiente información. De hecho ese procedimiento por si solo no sirve para nada.
 
De cualquier modo yo ejecutaría el proceso paso a paso y de ese encontraría donde está el problema.
Saludos a todos desde Huelva

http://www.mvp-access.es/emilio/
Arriba
Jordi-Albert Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Abril/2006
Localización: Alemania
Estado: Sin conexión
Puntos: 4321
Enlace directo a este mensaje Enviado: 10/Marzo/2012 a las 19:21
Bienvenido Miguel,

curiosamente otro Miguel tambien hizo hace unos dias una pregunta parecida http://www.mvp-access.com/foro/forum_posts.asp?TID=7238

te aconsejo que leas mi comentario al respecto y responda a las mimas preguntas, pues si no tienes las ideas claras al respecto lo único que conseguiras es perder el tiempo....

Nota: Jordi-Albert es, todo él, un nombre. Mi nombre
Arriba
Miguel1963 Ver desplegable
Nuevo
Nuevo


Unido: 10/Marzo/2012
Localización: España
Estado: Sin conexión
Puntos: 0
Enlace directo a este mensaje Enviado: 11/Marzo/2012 a las 18:49
Gracias por contestar, pero no se que mas le falta a esta macro para que funcione.
Me puedes ayudar,
Muchas gracias
Saludos
Arriba
Jordi-Albert Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Abril/2006
Localización: Alemania
Estado: Sin conexión
Puntos: 4321
Enlace directo a este mensaje Enviado: 11/Marzo/2012 a las 22:01
Publicado originalmente por Miguel1963 Miguel1963 escribió:

pero no se que mas le falta a esta macro para que funcione.


para que funcione antes de nada tienes que entender que estas comparando...
If r = Date And r.Offset(0, -1) = Empty Then

en este caso parece que r (r.value) es un importe (en euros) por lo que no puede ser una fecha, y su columna de la derecha tiene una descripcion, por lo que no puede ser nulo.

aparte de ello, ¿a que hoja se debe copiar?

reitero lo dicho en mi mensaje anterior, responde a las preguntas que efectue en mi mensaje anterior... o como mínimo aclarate en lo que deseas hacer, en como tienes los datos y como quieres hacerlo.

no tenemos ningunas ganas de dar "palos a ciegas".
Nota: Jordi-Albert es, todo él, un nombre. Mi nombre
Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: Alcalá Meco
Estado: Sin conexión
Puntos: 3618
Enlace directo a este mensaje Enviado: 12/Marzo/2012 a las 15:48
A ver si podemos aclarar un poco entre todos:

Primero: Tienes N hojas una de las cuales se llama registro y quieres que se ejecute una macro que lea de esta hoja registro y lleve el apunte a otra hoja ¿a cual?. Es decir, ¿La hoja a la que tiene que ir el registro se llama igual que el campo Categoría?, ¿Es otro nombre?, ¿como sabemos que nombre es?

Segundo: El registro que quieres pasar a la hoja X, supongo que son todos los datos de la fila pero no está claro, ¿es así?, si no es así, ¿que datos son?

Tercero: En la hoja en que se inserta, ¿Lo hace al final o hay que insertarlo en medio de otros registros?, ¿en que columna se empiezan a insertar los datos?

Cuarto: ¿Quieres borrar de la hoja registro la fila que has copiado? (no lo dices pero supongo que si por si ejecutas dos o más veces la macro el mismo día) ¿ o quizá pones algún tipo de marca en el registro para que no se vuelva a copiar?

Quinto: Entiendo que quieres tomar la fecha del momento en que se ejecuta la macro y pasar las líneas que tengan esa misma fecha a las hojas correspondientes, ni las anteriores a la fecha de "hoy" ni las posteriores

Un saludo.

Luis
El Búho es un pajarraco
Arriba
Miguel1963 Ver desplegable
Nuevo
Nuevo


Unido: 10/Marzo/2012
Localización: España
Estado: Sin conexión
Puntos: 0
Enlace directo a este mensaje Enviado: 12/Marzo/2012 a las 20:10
Gracias por contestar, en el proyecto de contabilidad domestica cada hoja de calculo es una cuenta, Bsantander ,CajaMar Visa, etc. entonces tengo otra hoja que se llama Registro, en la hoja registro anoto los registros periodicos de cada mes,
El Campo de la hoja de registro es Cuenta y si quiero que que se anoten todas la filas de la hoja de registro y que  los datos se inserten al final del ultimo registro de la cuenta y una vez insertados se borren de la hoja de Registo. en todas las cuentas Los registros empiezan en d4 y estan como tabla
Sobre todo muchas gracias por tu tiempo.
 
Si quieres te envio un archivo y ves como esta diseñado.
Saludos

Editado por Miguel1963 - 12/Marzo/2012 a las 20:40
Arriba
Miguel1963 Ver desplegable
Nuevo
Nuevo


Unido: 10/Marzo/2012
Localización: España
Estado: Sin conexión
Puntos: 0
Enlace directo a este mensaje Enviado: 14/Marzo/2012 a las 13:51
Hola a todos, este tema de registros automaticos esta solucionado, gracias a a todos y sobre todo a Jordi-Albert.
Saludos
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable