Registros automáticos

12/10/2007 - 07:14 por GRIEGO59 | Informe spam
Hola!
Tengo una hoja "préstamos" y cada cierto tiempo necesito registrar los
abonos de los clientes. Este registro requiere que yo escriba el nombre (de
todos los clientes cuyo saldo sea diferente de "0"), la fecha de pago (es la
misma fecha para todos los clientes), el monto de los abonos y otros datos.

Pienso que puede automatizarse el escribir los nombres (a1) de todos los
clientes con saldo (m1) diferente de cero y la fecha (b1) que es la misma,
por ejemplo presionando un botón "registrar abonos" que solicite la fecha que
se repite con cada nombre. Luego yo podría completar manualmente el resto de
la información que es diferente para cada cliente.

Alguien podría ayuarme?

Las columnas son:
a1 título, nombre
b1 título, fecha
c1:n1 otros títulos de columnas
m1 título, Saldo

Gracias anticipadas
Griego59

Preguntas similare

Leer las respuestas

#6 AnSanVal
13/10/2007 - 19:44 | Informe spam
Asigna el siguiente código a un botón en la hoja.

Suponiendo los títulos en la fila 1 y los datos a partir de la 2:

Sub ClientesFechas()
Dim fecha As Date
Dim fila, fila2, filaD As Integer
fila2 = Cells(65535, 1).End(xlUp).Row
filaD = fila2
fecha = InputBox("Fecha del abono.", "GRIEGO59", Date)
For fila = 2 To fila2
If Cells(fila, 1) <> Cells(fila + 1, 1) And Cells(fila, 13).Value <> 0
Then
filaD = filaD + 1
Cells(filaD, 1).Value = Cells(fila, 1).Value
Cells(filaD, 2).Value = fecha
End If
Next fila
End Sub

Saludos desde Tenerife (Islas Canarias).
************************************************
"GRIEGO59" escribió en el mensaje
news:
Es así:

La hoja "préstamos" tiene varias columnas, entre ellas, las siguientes:

A B F
M
Nombre Fecha Abonos Saldo
alicia 14/03/2007 350.000,00 350.000,00
alicia 30/03/2007 0,00 350.000,00
ana 14/03/2007 200.000,00 200.000,00
ana 30/03/2007 -80.000,00 120.000,00
petra 14/06/2007 -10.000,00 -10.000,00

Están ordenados por nombre y puede verse su saldo actual en la columna M
en
la última fila de cada nombre.

Como te muestro en este ejemplo, cada abono de cada cliente se registra en
una fila. Por consiguiente, los nombres de los clientes se repiten cada
vez
que ellos pagan. Como puedes ver, todos pagan en la misma fecha. Los
nombres
los escribo en la columna A, la fecha en la columna B, y en la columna C
hasta la columna L escribo otros datos más relativos con esos abonos.

Para el 16 de abril todos los clientes tendrán que pagar un abono, yo no

cual es el monto que ellos van a abonar, pero sí se que todos los que
tienen
un saldo actual (columna M, última fila de cada nombre) distinto de cero,
pagarán un abono.
Por consiguiente tendré que escribir en la columna A todos los nombres de
las personas que van a pagar, es decir, Alicia, ana, petra . y todos los
demás nombres que aparecen en mi tabla y cuyo saldo es diferente de "cero"
y
en la columna B tendré que escribir la fecha 16-04-2007 y en el resto de
las
columnas tendré que escribir el resto de la información.
El código que me diste, es fenomenal, porque al escribir el nombre,
aparece
automáticamente la fecha.
Sería genial, que el día 16-04-2007 cuando yo tenga que registrar todos
los
pagos de ese día, al presionar un botón, se escriban en la columna A
automáticamente todos los nombres cuyo saldo sea diferente de cero y en la
columna B la fecha 16-04-2007, de manera que yo solamente tenga que
completar
el resto de la información de las otras columnas. Luego el 26-04-2007
cuando
los clientes tengan que hacer otro abono, haría lo mismo, y así el resto
de
los meses.

Gracias por tu ayuda,
Griego59


"AnSanVal" escribió:

Si no aportas mas datos ... :-(( ... yo no se como tienes tus datos ni
que
pretendes.
¿Como sabemos lo de las transaciones?, ¿Donde se copian los nombres y
dependiendo "de que" es uno u otro nombre?, etc.

Saludos desde Tenerife (Islas Canarias).
************************************************
"GRIEGO59" escribió en el mensaje
news:
> Muchas gracias!!! : )
>
> Y se puede hacer que escriba automáticamente los nombres que aparecen
> en
> la
> columna "a" además de la fecha?
>
> Es decir, en la columna "a" tengo los nombres de los clientes que se
> repiten
> tantas veces como transaciones hagan. Y cuando me toca registrar sus
> abonos,
> debo revisar la columna "a" y escribir todos los nombres además la
> fecha
> en
> la columna "b" para poder completar luego las otras columnas.
>
> Ojalá pueda hacerse esto!!!
>
> Saludos,
> Griego59
> "AnSanVal" escribió:
>
>> Si lo quieres por código, en el módulo de la hoja:
>>
>> Private Sub Worksheet_Change(ByVal Target As Range)
>> If Target.Column = 1 And Target.Row > 2 Then _
>> Target.Offset(0, 1).Value = Target.Offset(-1, 1).Value
>> End Sub
>>
>>
>> Saludos desde Tenerife (Islas Canarias).
>> ************************************************
>> "AnSanVal" escribió en el mensaje
>> news:%
>> > Escribe en B3: =SI(A3>"";B2;"") y Copia/Pega hacia abajo hasta
>> > donde
>> > necesites.
>> >
>> > Saludos desde Tenerife (Islas Canarias).
>> > ************************************************
>> > "GRIEGO59" escribió en el
>> > mensaje
>> > news:
>> >> Hola!
>> >> Tengo una hoja "préstamos" y cada cierto tiempo necesito registrar
>> >> los
>> >> abonos de los clientes. Este registro requiere que yo escriba el
>> >> nombre
>> >> (de
>> >> todos los clientes cuyo saldo sea diferente de "0"), la fecha de
>> >> pago
>> >> (es
>> >> la
>> >> misma fecha para todos los clientes), el monto de los abonos y
>> >> otros
>> >> datos.
>> >>
>> >> Pienso que puede automatizarse el escribir los nombres (a1) de
>> >> todos
>> >> los
>> >> clientes con saldo (m1) diferente de cero y la fecha (b1) que es la
>> >> misma,
>> >> por ejemplo presionando un botón "registrar abonos" que solicite la
>> >> fecha
>> >> que
>> >> se repite con cada nombre. Luego yo podría completar manualmente
>> >> el
>> >> resto de
>> >> la información que es diferente para cada cliente.
>> >>
>> >> Alguien podría ayuarme?
>> >>
>> >> Las columnas son:
>> >> a1 título, nombre
>> >> b1 título, fecha
>> >> c1:n1 otros títulos de columnas
>> >> m1 título, Saldo
>> >>
>> >> Gracias anticipadas
>> >> Griego59
>> >
>> >
>>
>>
>>



Respuesta Responder a este mensaje
#7 AnSanVal
13/10/2007 - 19:51 | Informe spam
Para controlar el botón CANCELAR, usa este otro código:

Sub ClientesFechas()
Dim fecha As String
Dim fila, fila2, filaD As Integer
fila2 = Cells(65535, 1).End(xlUp).Row
filaD = fila2
fecha = InputBox("Fecha del abono.", "GRIEGO59", Date)
If fecha = "" Then Exit Sub
For fila = 2 To fila2
If Cells(fila, 1) <> Cells(fila + 1, 1) And Cells(fila, 13).Value <> 0
Then
filaD = filaD + 1
Cells(filaD, 1).Value = Cells(fila, 1).Value
Cells(filaD, 2).Value = Val(fecha)
End If
Next fila
End Sub

Saludos desde Tenerife (Islas Canarias).
************************************************
"GRIEGO59" escribió en el mensaje
news:
Es así:

La hoja "préstamos" tiene varias columnas, entre ellas, las siguientes:

A B F
M
Nombre Fecha Abonos Saldo
alicia 14/03/2007 350.000,00 350.000,00
alicia 30/03/2007 0,00 350.000,00
ana 14/03/2007 200.000,00 200.000,00
ana 30/03/2007 -80.000,00 120.000,00
petra 14/06/2007 -10.000,00 -10.000,00

Están ordenados por nombre y puede verse su saldo actual en la columna M
en
la última fila de cada nombre.

Como te muestro en este ejemplo, cada abono de cada cliente se registra en
una fila. Por consiguiente, los nombres de los clientes se repiten cada
vez
que ellos pagan. Como puedes ver, todos pagan en la misma fecha. Los
nombres
los escribo en la columna A, la fecha en la columna B, y en la columna C
hasta la columna L escribo otros datos más relativos con esos abonos.

Para el 16 de abril todos los clientes tendrán que pagar un abono, yo no

cual es el monto que ellos van a abonar, pero sí se que todos los que
tienen
un saldo actual (columna M, última fila de cada nombre) distinto de cero,
pagarán un abono.
Por consiguiente tendré que escribir en la columna A todos los nombres de
las personas que van a pagar, es decir, Alicia, ana, petra . y todos los
demás nombres que aparecen en mi tabla y cuyo saldo es diferente de "cero"
y
en la columna B tendré que escribir la fecha 16-04-2007 y en el resto de
las
columnas tendré que escribir el resto de la información.
El código que me diste, es fenomenal, porque al escribir el nombre,
aparece
automáticamente la fecha.
Sería genial, que el día 16-04-2007 cuando yo tenga que registrar todos
los
pagos de ese día, al presionar un botón, se escriban en la columna A
automáticamente todos los nombres cuyo saldo sea diferente de cero y en la
columna B la fecha 16-04-2007, de manera que yo solamente tenga que
completar
el resto de la información de las otras columnas. Luego el 26-04-2007
cuando
los clientes tengan que hacer otro abono, haría lo mismo, y así el resto
de
los meses.

Gracias por tu ayuda,
Griego59


"AnSanVal" escribió:

Si no aportas mas datos ... :-(( ... yo no se como tienes tus datos ni
que
pretendes.
¿Como sabemos lo de las transaciones?, ¿Donde se copian los nombres y
dependiendo "de que" es uno u otro nombre?, etc.

Saludos desde Tenerife (Islas Canarias).
************************************************
"GRIEGO59" escribió en el mensaje
news:
> Muchas gracias!!! : )
>
> Y se puede hacer que escriba automáticamente los nombres que aparecen
> en
> la
> columna "a" además de la fecha?
>
> Es decir, en la columna "a" tengo los nombres de los clientes que se
> repiten
> tantas veces como transaciones hagan. Y cuando me toca registrar sus
> abonos,
> debo revisar la columna "a" y escribir todos los nombres además la
> fecha
> en
> la columna "b" para poder completar luego las otras columnas.
>
> Ojalá pueda hacerse esto!!!
>
> Saludos,
> Griego59
> "AnSanVal" escribió:
>
>> Si lo quieres por código, en el módulo de la hoja:
>>
>> Private Sub Worksheet_Change(ByVal Target As Range)
>> If Target.Column = 1 And Target.Row > 2 Then _
>> Target.Offset(0, 1).Value = Target.Offset(-1, 1).Value
>> End Sub
>>
>>
>> Saludos desde Tenerife (Islas Canarias).
>> ************************************************
>> "AnSanVal" escribió en el mensaje
>> news:%
>> > Escribe en B3: =SI(A3>"";B2;"") y Copia/Pega hacia abajo hasta
>> > donde
>> > necesites.
>> >
>> > Saludos desde Tenerife (Islas Canarias).
>> > ************************************************
>> > "GRIEGO59" escribió en el
>> > mensaje
>> > news:
>> >> Hola!
>> >> Tengo una hoja "préstamos" y cada cierto tiempo necesito registrar
>> >> los
>> >> abonos de los clientes. Este registro requiere que yo escriba el
>> >> nombre
>> >> (de
>> >> todos los clientes cuyo saldo sea diferente de "0"), la fecha de
>> >> pago
>> >> (es
>> >> la
>> >> misma fecha para todos los clientes), el monto de los abonos y
>> >> otros
>> >> datos.
>> >>
>> >> Pienso que puede automatizarse el escribir los nombres (a1) de
>> >> todos
>> >> los
>> >> clientes con saldo (m1) diferente de cero y la fecha (b1) que es la
>> >> misma,
>> >> por ejemplo presionando un botón "registrar abonos" que solicite la
>> >> fecha
>> >> que
>> >> se repite con cada nombre. Luego yo podría completar manualmente
>> >> el
>> >> resto de
>> >> la información que es diferente para cada cliente.
>> >>
>> >> Alguien podría ayuarme?
>> >>
>> >> Las columnas son:
>> >> a1 título, nombre
>> >> b1 título, fecha
>> >> c1:n1 otros títulos de columnas
>> >> m1 título, Saldo
>> >>
>> >> Gracias anticipadas
>> >> Griego59
>> >
>> >
>>
>>
>>



Respuesta Responder a este mensaje
#8 GRIEGO59
14/10/2007 - 18:59 | Informe spam
Hola!
Usé el último código que me diste y me da : (
error de compilación:
Error de sintaxis

Y el depurador remarca esta parte del código:
If Cells(fila, 1) <> Cells(fila + 1, 1) And Cells(fila, 13).Value <> 0

Saludos,
Griego59

"AnSanVal" escribió:

Para controlar el botón CANCELAR, usa este otro código:

Sub ClientesFechas()
Dim fecha As String
Dim fila, fila2, filaD As Integer
fila2 = Cells(65535, 1).End(xlUp).Row
filaD = fila2
fecha = InputBox("Fecha del abono.", "GRIEGO59", Date)
If fecha = "" Then Exit Sub
For fila = 2 To fila2
If Cells(fila, 1) <> Cells(fila + 1, 1) And Cells(fila, 13).Value <> 0
Then
filaD = filaD + 1
Cells(filaD, 1).Value = Cells(fila, 1).Value
Cells(filaD, 2).Value = Val(fecha)
End If
Next fila
End Sub

Saludos desde Tenerife (Islas Canarias).
************************************************
"GRIEGO59" escribió en el mensaje
news:
> Es así:
>
> La hoja "préstamos" tiene varias columnas, entre ellas, las siguientes:
>
> A B F
> M
> Nombre Fecha Abonos Saldo
> alicia 14/03/2007 350.000,00 350.000,00
> alicia 30/03/2007 0,00 350.000,00
> ana 14/03/2007 200.000,00 200.000,00
> ana 30/03/2007 -80.000,00 120.000,00
> petra 14/06/2007 -10.000,00 -10.000,00
>
> Están ordenados por nombre y puede verse su saldo actual en la columna M
> en
> la última fila de cada nombre.
>
> Como te muestro en este ejemplo, cada abono de cada cliente se registra en
> una fila. Por consiguiente, los nombres de los clientes se repiten cada
> vez
> que ellos pagan. Como puedes ver, todos pagan en la misma fecha. Los
> nombres
> los escribo en la columna A, la fecha en la columna B, y en la columna C
> hasta la columna L escribo otros datos más relativos con esos abonos.
>
> Para el 16 de abril todos los clientes tendrán que pagar un abono, yo no
> sé
> cual es el monto que ellos van a abonar, pero sí se que todos los que
> tienen
> un saldo actual (columna M, última fila de cada nombre) distinto de cero,
> pagarán un abono.
> Por consiguiente tendré que escribir en la columna A todos los nombres de
> las personas que van a pagar, es decir, Alicia, ana, petra . y todos los
> demás nombres que aparecen en mi tabla y cuyo saldo es diferente de "cero"
> y
> en la columna B tendré que escribir la fecha 16-04-2007 y en el resto de
> las
> columnas tendré que escribir el resto de la información.
> El código que me diste, es fenomenal, porque al escribir el nombre,
> aparece
> automáticamente la fecha.
> Sería genial, que el día 16-04-2007 cuando yo tenga que registrar todos
> los
> pagos de ese día, al presionar un botón, se escriban en la columna A
> automáticamente todos los nombres cuyo saldo sea diferente de cero y en la
> columna B la fecha 16-04-2007, de manera que yo solamente tenga que
> completar
> el resto de la información de las otras columnas. Luego el 26-04-2007
> cuando
> los clientes tengan que hacer otro abono, haría lo mismo, y así el resto
> de
> los meses.
>
> Gracias por tu ayuda,
> Griego59
>
>
> "AnSanVal" escribió:
>
>> Si no aportas mas datos ... :-(( ... yo no se como tienes tus datos ni
>> que
>> pretendes.
>> ¿Como sabemos lo de las transaciones?, ¿Donde se copian los nombres y
>> dependiendo "de que" es uno u otro nombre?, etc.
>>
>> Saludos desde Tenerife (Islas Canarias).
>> ************************************************
>> "GRIEGO59" escribió en el mensaje
>> news:
>> > Muchas gracias!!! : )
>> >
>> > Y se puede hacer que escriba automáticamente los nombres que aparecen
>> > en
>> > la
>> > columna "a" además de la fecha?
>> >
>> > Es decir, en la columna "a" tengo los nombres de los clientes que se
>> > repiten
>> > tantas veces como transaciones hagan. Y cuando me toca registrar sus
>> > abonos,
>> > debo revisar la columna "a" y escribir todos los nombres además la
>> > fecha
>> > en
>> > la columna "b" para poder completar luego las otras columnas.
>> >
>> > Ojalá pueda hacerse esto!!!
>> >
>> > Saludos,
>> > Griego59
>> > "AnSanVal" escribió:
>> >
>> >> Si lo quieres por código, en el módulo de la hoja:
>> >>
>> >> Private Sub Worksheet_Change(ByVal Target As Range)
>> >> If Target.Column = 1 And Target.Row > 2 Then _
>> >> Target.Offset(0, 1).Value = Target.Offset(-1, 1).Value
>> >> End Sub
>> >>
>> >>
>> >> Saludos desde Tenerife (Islas Canarias).
>> >> ************************************************
>> >> "AnSanVal" escribió en el mensaje
>> >> news:%
>> >> > Escribe en B3: =SI(A3>"";B2;"") y Copia/Pega hacia abajo hasta
>> >> > donde
>> >> > necesites.
>> >> >
>> >> > Saludos desde Tenerife (Islas Canarias).
>> >> > ************************************************
>> >> > "GRIEGO59" escribió en el
>> >> > mensaje
>> >> > news:
>> >> >> Hola!
>> >> >> Tengo una hoja "préstamos" y cada cierto tiempo necesito registrar
>> >> >> los
>> >> >> abonos de los clientes. Este registro requiere que yo escriba el
>> >> >> nombre
>> >> >> (de
>> >> >> todos los clientes cuyo saldo sea diferente de "0"), la fecha de
>> >> >> pago
>> >> >> (es
>> >> >> la
>> >> >> misma fecha para todos los clientes), el monto de los abonos y
>> >> >> otros
>> >> >> datos.
>> >> >>
>> >> >> Pienso que puede automatizarse el escribir los nombres (a1) de
>> >> >> todos
>> >> >> los
>> >> >> clientes con saldo (m1) diferente de cero y la fecha (b1) que es la
>> >> >> misma,
>> >> >> por ejemplo presionando un botón "registrar abonos" que solicite la
>> >> >> fecha
>> >> >> que
>> >> >> se repite con cada nombre. Luego yo podría completar manualmente
>> >> >> el
>> >> >> resto de
>> >> >> la información que es diferente para cada cliente.
>> >> >>
>> >> >> Alguien podría ayuarme?
>> >> >>
>> >> >> Las columnas son:
>> >> >> a1 título, nombre
>> >> >> b1 título, fecha
>> >> >> c1:n1 otros títulos de columnas
>> >> >> m1 título, Saldo
>> >> >>
>> >> >> Gracias anticipadas
>> >> >> Griego59
>> >> >
>> >> >
>> >>
>> >>
>> >>
>>
>>
>>



Respuesta Responder a este mensaje
#9 AnSanVal
15/10/2007 - 00:41 | Informe spam
Posiblemente ese error está provocado por el editor, que ha partido en dos
una de las líneas de código...

If Cells(fila, 1) <> Cells(fila + 1, 1) And _
Cells(fila, 13).Value <> 0 Then

... que separó la última palabra (Then). Debe ir todo en una misma línea o
como lo he puesto ahora.

Saludos desde Tenerife (Islas Canarias).
************************************************
"GRIEGO59" escribió en el mensaje
news:
Hola!
Usé el último código que me diste y me da : (
error de compilación:
Error de sintaxis

Y el depurador remarca esta parte del código:
If Cells(fila, 1) <> Cells(fila + 1, 1) And Cells(fila, 13).Value <> 0

Saludos,
Griego59

"AnSanVal" escribió:

Para controlar el botón CANCELAR, usa este otro código:

Sub ClientesFechas()
Dim fecha As String
Dim fila, fila2, filaD As Integer
fila2 = Cells(65535, 1).End(xlUp).Row
filaD = fila2
fecha = InputBox("Fecha del abono.", "GRIEGO59", Date)
If fecha = "" Then Exit Sub
For fila = 2 To fila2
If Cells(fila, 1) <> Cells(fila + 1, 1) And Cells(fila, 13).Value <>
0
Then
filaD = filaD + 1
Cells(filaD, 1).Value = Cells(fila, 1).Value
Cells(filaD, 2).Value = Val(fecha)
End If
Next fila
End Sub

Saludos desde Tenerife (Islas Canarias).
************************************************
"GRIEGO59" escribió en el mensaje
news:
> Es así:
>
> La hoja "préstamos" tiene varias columnas, entre ellas, las siguientes:
>
> A B F
> M
> Nombre Fecha Abonos Saldo
> alicia 14/03/2007 350.000,00 350.000,00
> alicia 30/03/2007 0,00 350.000,00
> ana 14/03/2007 200.000,00 200.000,00
> ana 30/03/2007 -80.000,00 120.000,00
> petra 14/06/2007 -10.000,00 -10.000,00
>
> Están ordenados por nombre y puede verse su saldo actual en la columna
> M
> en
> la última fila de cada nombre.
>
> Como te muestro en este ejemplo, cada abono de cada cliente se registra
> en
> una fila. Por consiguiente, los nombres de los clientes se repiten cada
> vez
> que ellos pagan. Como puedes ver, todos pagan en la misma fecha. Los
> nombres
> los escribo en la columna A, la fecha en la columna B, y en la columna
> C
> hasta la columna L escribo otros datos más relativos con esos abonos.
>
> Para el 16 de abril todos los clientes tendrán que pagar un abono, yo
> no
> sé
> cual es el monto que ellos van a abonar, pero sí se que todos los que
> tienen
> un saldo actual (columna M, última fila de cada nombre) distinto de
> cero,
> pagarán un abono.
> Por consiguiente tendré que escribir en la columna A todos los nombres
> de
> las personas que van a pagar, es decir, Alicia, ana, petra . y todos
> los
> demás nombres que aparecen en mi tabla y cuyo saldo es diferente de
> "cero"
> y
> en la columna B tendré que escribir la fecha 16-04-2007 y en el resto
> de
> las
> columnas tendré que escribir el resto de la información.
> El código que me diste, es fenomenal, porque al escribir el nombre,
> aparece
> automáticamente la fecha.
> Sería genial, que el día 16-04-2007 cuando yo tenga que registrar todos
> los
> pagos de ese día, al presionar un botón, se escriban en la columna A
> automáticamente todos los nombres cuyo saldo sea diferente de cero y en
> la
> columna B la fecha 16-04-2007, de manera que yo solamente tenga que
> completar
> el resto de la información de las otras columnas. Luego el 26-04-2007
> cuando
> los clientes tengan que hacer otro abono, haría lo mismo, y así el
> resto
> de
> los meses.
>
> Gracias por tu ayuda,
> Griego59
>
>
> "AnSanVal" escribió:
>
>> Si no aportas mas datos ... :-(( ... yo no se como tienes tus datos
>> ni
>> que
>> pretendes.
>> ¿Como sabemos lo de las transaciones?, ¿Donde se copian los nombres y
>> dependiendo "de que" es uno u otro nombre?, etc.
>>
>> Saludos desde Tenerife (Islas Canarias).
>> ************************************************
>> "GRIEGO59" escribió en el mensaje
>> news:
>> > Muchas gracias!!! : )
>> >
>> > Y se puede hacer que escriba automáticamente los nombres que
>> > aparecen
>> > en
>> > la
>> > columna "a" además de la fecha?
>> >
>> > Es decir, en la columna "a" tengo los nombres de los clientes que se
>> > repiten
>> > tantas veces como transaciones hagan. Y cuando me toca registrar sus
>> > abonos,
>> > debo revisar la columna "a" y escribir todos los nombres además la
>> > fecha
>> > en
>> > la columna "b" para poder completar luego las otras columnas.
>> >
>> > Ojalá pueda hacerse esto!!!
>> >
>> > Saludos,
>> > Griego59
>> > "AnSanVal" escribió:
>> >
>> >> Si lo quieres por código, en el módulo de la hoja:
>> >>
>> >> Private Sub Worksheet_Change(ByVal Target As Range)
>> >> If Target.Column = 1 And Target.Row > 2 Then _
>> >> Target.Offset(0, 1).Value = Target.Offset(-1, 1).Value
>> >> End Sub
>> >>
>> >>
>> >> Saludos desde Tenerife (Islas Canarias).
>> >> ************************************************
>> >> "AnSanVal" escribió en el
>> >> mensaje
>> >> news:%
>> >> > Escribe en B3: =SI(A3>"";B2;"") y Copia/Pega hacia abajo
>> >> > hasta
>> >> > donde
>> >> > necesites.
>> >> >
>> >> > Saludos desde Tenerife (Islas Canarias).
>> >> > ************************************************
>> >> > "GRIEGO59" escribió en el
>> >> > mensaje
>> >> > news:
>> >> >> Hola!
>> >> >> Tengo una hoja "préstamos" y cada cierto tiempo necesito
>> >> >> registrar
>> >> >> los
>> >> >> abonos de los clientes. Este registro requiere que yo escriba el
>> >> >> nombre
>> >> >> (de
>> >> >> todos los clientes cuyo saldo sea diferente de "0"), la fecha de
>> >> >> pago
>> >> >> (es
>> >> >> la
>> >> >> misma fecha para todos los clientes), el monto de los abonos y
>> >> >> otros
>> >> >> datos.
>> >> >>
>> >> >> Pienso que puede automatizarse el escribir los nombres (a1) de
>> >> >> todos
>> >> >> los
>> >> >> clientes con saldo (m1) diferente de cero y la fecha (b1) que es
>> >> >> la
>> >> >> misma,
>> >> >> por ejemplo presionando un botón "registrar abonos" que solicite
>> >> >> la
>> >> >> fecha
>> >> >> que
>> >> >> se repite con cada nombre. Luego yo podría completar
>> >> >> manualmente
>> >> >> el
>> >> >> resto de
>> >> >> la información que es diferente para cada cliente.
>> >> >>
>> >> >> Alguien podría ayuarme?
>> >> >>
>> >> >> Las columnas son:
>> >> >> a1 título, nombre
>> >> >> b1 título, fecha
>> >> >> c1:n1 otros títulos de columnas
>> >> >> m1 título, Saldo
>> >> >>
>> >> >> Gracias anticipadas
>> >> >> Griego59
>> >> >
>> >> >
>> >>
>> >>
>> >>
>>
>>
>>



Respuesta Responder a este mensaje
#10 GRIEGO59
16/10/2007 - 12:11 | Informe spam
Gracias : )
Es sorprendente!
Saludos
Griego59

"AnSanVal" escribió:

Posiblemente ese error está provocado por el editor, que ha partido en dos
una de las líneas de código...

If Cells(fila, 1) <> Cells(fila + 1, 1) And _
Cells(fila, 13).Value <> 0 Then

que separó la última palabra (Then). Debe ir todo en una misma línea o
como lo he puesto ahora.

Saludos desde Tenerife (Islas Canarias).
************************************************
"GRIEGO59" escribió en el mensaje
news:
> Hola!
> Usé el último código que me diste y me da : (
> error de compilación:
> Error de sintaxis
>
> Y el depurador remarca esta parte del código:
> If Cells(fila, 1) <> Cells(fila + 1, 1) And Cells(fila, 13).Value <> 0
>
> Saludos,
> Griego59
>
> "AnSanVal" escribió:
>
>> Para controlar el botón CANCELAR, usa este otro código:
>>
>> Sub ClientesFechas()
>> Dim fecha As String
>> Dim fila, fila2, filaD As Integer
>> fila2 = Cells(65535, 1).End(xlUp).Row
>> filaD = fila2
>> fecha = InputBox("Fecha del abono.", "GRIEGO59", Date)
>> If fecha = "" Then Exit Sub
>> For fila = 2 To fila2
>> If Cells(fila, 1) <> Cells(fila + 1, 1) And Cells(fila, 13).Value <>
>> 0
>> Then
>> filaD = filaD + 1
>> Cells(filaD, 1).Value = Cells(fila, 1).Value
>> Cells(filaD, 2).Value = Val(fecha)
>> End If
>> Next fila
>> End Sub
>>
>> Saludos desde Tenerife (Islas Canarias).
>> ************************************************
>> "GRIEGO59" escribió en el mensaje
>> news:
>> > Es así:
>> >
>> > La hoja "préstamos" tiene varias columnas, entre ellas, las siguientes:
>> >
>> > A B F
>> > M
>> > Nombre Fecha Abonos Saldo
>> > alicia 14/03/2007 350.000,00 350.000,00
>> > alicia 30/03/2007 0,00 350.000,00
>> > ana 14/03/2007 200.000,00 200.000,00
>> > ana 30/03/2007 -80.000,00 120.000,00
>> > petra 14/06/2007 -10.000,00 -10.000,00
>> >
>> > Están ordenados por nombre y puede verse su saldo actual en la columna
>> > M
>> > en
>> > la última fila de cada nombre.
>> >
>> > Como te muestro en este ejemplo, cada abono de cada cliente se registra
>> > en
>> > una fila. Por consiguiente, los nombres de los clientes se repiten cada
>> > vez
>> > que ellos pagan. Como puedes ver, todos pagan en la misma fecha. Los
>> > nombres
>> > los escribo en la columna A, la fecha en la columna B, y en la columna
>> > C
>> > hasta la columna L escribo otros datos más relativos con esos abonos.
>> >
>> > Para el 16 de abril todos los clientes tendrán que pagar un abono, yo
>> > no
>> > sé
>> > cual es el monto que ellos van a abonar, pero sí se que todos los que
>> > tienen
>> > un saldo actual (columna M, última fila de cada nombre) distinto de
>> > cero,
>> > pagarán un abono.
>> > Por consiguiente tendré que escribir en la columna A todos los nombres
>> > de
>> > las personas que van a pagar, es decir, Alicia, ana, petra . y todos
>> > los
>> > demás nombres que aparecen en mi tabla y cuyo saldo es diferente de
>> > "cero"
>> > y
>> > en la columna B tendré que escribir la fecha 16-04-2007 y en el resto
>> > de
>> > las
>> > columnas tendré que escribir el resto de la información.
>> > El código que me diste, es fenomenal, porque al escribir el nombre,
>> > aparece
>> > automáticamente la fecha.
>> > Sería genial, que el día 16-04-2007 cuando yo tenga que registrar todos
>> > los
>> > pagos de ese día, al presionar un botón, se escriban en la columna A
>> > automáticamente todos los nombres cuyo saldo sea diferente de cero y en
>> > la
>> > columna B la fecha 16-04-2007, de manera que yo solamente tenga que
>> > completar
>> > el resto de la información de las otras columnas. Luego el 26-04-2007
>> > cuando
>> > los clientes tengan que hacer otro abono, haría lo mismo, y así el
>> > resto
>> > de
>> > los meses.
>> >
>> > Gracias por tu ayuda,
>> > Griego59
>> >
>> >
>> > "AnSanVal" escribió:
>> >
>> >> Si no aportas mas datos ... :-(( ... yo no se como tienes tus datos
>> >> ni
>> >> que
>> >> pretendes.
>> >> ¿Como sabemos lo de las transaciones?, ¿Donde se copian los nombres y
>> >> dependiendo "de que" es uno u otro nombre?, etc.
>> >>
>> >> Saludos desde Tenerife (Islas Canarias).
>> >> ************************************************
>> >> "GRIEGO59" escribió en el mensaje
>> >> news:
>> >> > Muchas gracias!!! : )
>> >> >
>> >> > Y se puede hacer que escriba automáticamente los nombres que
>> >> > aparecen
>> >> > en
>> >> > la
>> >> > columna "a" además de la fecha?
>> >> >
>> >> > Es decir, en la columna "a" tengo los nombres de los clientes que se
>> >> > repiten
>> >> > tantas veces como transaciones hagan. Y cuando me toca registrar sus
>> >> > abonos,
>> >> > debo revisar la columna "a" y escribir todos los nombres además la
>> >> > fecha
>> >> > en
>> >> > la columna "b" para poder completar luego las otras columnas.
>> >> >
>> >> > Ojalá pueda hacerse esto!!!
>> >> >
>> >> > Saludos,
>> >> > Griego59
>> >> > "AnSanVal" escribió:
>> >> >
>> >> >> Si lo quieres por código, en el módulo de la hoja:
>> >> >>
>> >> >> Private Sub Worksheet_Change(ByVal Target As Range)
>> >> >> If Target.Column = 1 And Target.Row > 2 Then _
>> >> >> Target.Offset(0, 1).Value = Target.Offset(-1, 1).Value
>> >> >> End Sub
>> >> >>
>> >> >>
>> >> >> Saludos desde Tenerife (Islas Canarias).
>> >> >> ************************************************
>> >> >> "AnSanVal" escribió en el
>> >> >> mensaje
>> >> >> news:%
>> >> >> > Escribe en B3: =SI(A3>"";B2;"") y Copia/Pega hacia abajo
>> >> >> > hasta
>> >> >> > donde
>> >> >> > necesites.
>> >> >> >
>> >> >> > Saludos desde Tenerife (Islas Canarias).
>> >> >> > ************************************************
>> >> >> > "GRIEGO59" escribió en el
>> >> >> > mensaje
>> >> >> > news:
>> >> >> >> Hola!
>> >> >> >> Tengo una hoja "préstamos" y cada cierto tiempo necesito
>> >> >> >> registrar
>> >> >> >> los
>> >> >> >> abonos de los clientes. Este registro requiere que yo escriba el
>> >> >> >> nombre
>> >> >> >> (de
>> >> >> >> todos los clientes cuyo saldo sea diferente de "0"), la fecha de
>> >> >> >> pago
>> >> >> >> (es
>> >> >> >> la
>> >> >> >> misma fecha para todos los clientes), el monto de los abonos y
>> >> >> >> otros
>> >> >> >> datos.
>> >> >> >>
>> >> >> >> Pienso que puede automatizarse el escribir los nombres (a1) de
>> >> >> >> todos
>> >> >> >> los
>> >> >> >> clientes con saldo (m1) diferente de cero y la fecha (b1) que es
>> >> >> >> la
>> >> >> >> misma,
>> >> >> >> por ejemplo presionando un botón "registrar abonos" que solicite
>> >> >> >> la
>> >> >> >> fecha
>> >> >> >> que
>> >> >> >> se repite con cada nombre. Luego yo podría completar
>> >> >> >> manualmente
>> >> >> >> el
>> >> >> >> resto de
>> >> >> >> la información que es diferente para cada cliente.
>> >> >> >>
>> >> >> >> Alguien podría ayuarme?
>> >> >> >>
>> >> >> >> Las columnas son:
>> >> >> >> a1 título, nombre
>> >> >> >> b1 título, fecha
>> >> >> >> c1:n1 otros títulos de columnas
>> >> >> >> m1 título, Saldo
>> >> >> >>
>> >> >> >> Gracias anticipadas
>> >> >> >> Griego59
>> >> >> >
>> >> >> >
>> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>> >>
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida