# macro tipo polizas ch



## titino (Apr 27, 2010)

Un gran saludo y reconocimiento para esta pagina excel- ente, dedicada al excel.

es para mi un honor poder postear el siguiente requerimiento.

tengo un libro que hace un vaciado de una hoja a otra rellenando una poliza de cheque, y cuando quiero hacer otra poliza tengo que borrar todo y volver a cargar datos, ahora bien he diseñado otra extructura que me va a servir conservar la bd, y que no se borre, solo que necesito que de la hoja dos, que es mi reporteador descrimine por tipo de cuenta y nombre haga una suma por tipo de gasto y asi mismo lo resuma en su respectiva hoja de poliza de cheque, claro yo identifico los cargos en la hoja dos por "D" los cargos y por "H" los abonos, espero puedan ayudarme con este codigo, saludos.

pongo el archivo que me hace lo que necesito, pero no me conservan los datos de factura

http://www.megaupload.com/?d=OGE389XH

y pongo este otro que es donde quiero que me ayuden, el vaciado lo tendria que hacer parecido al primero que posteo

http://www.megaupload.com/?d=QC6GUD5A

Saludos!!!


----------



## bmacias (Apr 27, 2010)

titino,

Va ser uno poco dificil que bajemos el archivo, por eso de los viruses, espero que comprendas.

Si te entendi bien...tienes ya la segunda hoja con todos los datos y quieres desmenusar la informacion por tipo de cuenta y nombre...etc.

Se puede hacer esto de varias maneras....sin codigo: podrias hacerlo con tablas dinamicas o tambien podrias usar formulas matriciales o tambien con sumaproducto.

Saludos...


----------



## Greg Truby (Apr 27, 2010)

titino,

Estoy de acuerdo con lo que bmacias dice - por eso de los virus es poca la gente que bajará cuadernos de excel de alguien desconocido.  Y también tiene razón, me parece que una tabla dinámica o una fórmula usando SUMPRODUCTO serán las soluciones más probables.

Si usted puede usar Excel Jeanie o ASAP Utilities u otra utilidad para darnos una muestra de sus hojas, podemos ofrecerle unas ideas más específicas.

Cordialmente,


----------



## titino (Apr 27, 2010)

Bueno de cualquier forma les agradesco su participacion

Saludos!!!!


----------



## bmacias (Apr 28, 2010)

titino,

por que no nos das un pequeño ejemplo aqui mismo en el foro?  algo de unass ocho filas seria mas que suficiente para entender lo quieres que hagan tus formulas/macros

Saludos,


----------



## titino (Apr 29, 2010)

esto es en la hoja dos
en la columna F9 de la hoja dos se ubica Cta_contable
en la columna g9 en adelante esta la letra "D" del debe
en la columna L9 estan los subtotales de las facturas estos deberan ir necesariamente en los cargos
en la columna N9 va lo que es el iva pagado esto debe ir en los cargos
de las columnas en adelante val los abonos
http://sanatas.com/files/upload/images/82GASTOS_CONTABLES1.xls_.jpg

tal que debe quedar asi en la hoja Poliza Cheque
http://sanatas.com/files/upload/images/12GASTOS_CONTABLES1.xls_.jpg

esto es lo que quiero que se haga por medio de codigo vba.

Saludos!!!


----------



## bmacias (May 6, 2010)

Hola,

Hemos trabajado mucho, de modo que no habia podido entrar al foro.

En el codigo, usa formulas como esta:

Range("e24").Formula = "=SUBTOTAL(9,base!L9:L13200)"

esto hace que se haga una suma solo de las celdas visibles. Harias codigo similar para el iva.

Las demas celdas como lo de la F9 que creo va en la celda a24 del vaciado seria con un simple:

range("a24).value = application.sheets("base").range("f9").value

Espero y esto te pueda encaminar un poco.

Saludos


----------



## titino (May 6, 2010)

ok aria algo como esto Range("e24").Formula = "=SUBTOTAL(9,base!L9:L13200)"

veo que se pondria subtotales, pero para distinguir por tipo de cta, y en base a ese tipo se haga el subtotal como le haria?





bmacias said:


> Hola,
> 
> Hemos trabajado mucho, de modo que no habia podido entrar al foro.
> 
> ...


----------



## bmacias (May 6, 2010)

Preguntas: Entonces:

1. El vaciado contiene un agregado de todas las differentes cuentas en la base?

2. El vaciado contiene un agregado de varias cuentas ya filtradas en la base?

3. El vaciado contiene un agregado de una sola cuenta ya filtrada en la base? 

Saludos.


----------



## titino (May 7, 2010)

bueno, mi hoja2 , en donde se tomaran los datos y se resumiran en la hoja poliza de cheque, pero pueden ser cuentas variables (distintas), y seria un total por cada cta, cada cta puede tener uno o mas movimientos
	
	
	
	
	
	



```
C:\Users\Admin\Documents\EJHTMLe\TempJean.htm
```


----------



## titino (Apr 27, 2010)

Un gran saludo y reconocimiento para esta pagina excel- ente, dedicada al excel.

es para mi un honor poder postear el siguiente requerimiento.

tengo un libro que hace un vaciado de una hoja a otra rellenando una poliza de cheque, y cuando quiero hacer otra poliza tengo que borrar todo y volver a cargar datos, ahora bien he diseñado otra extructura que me va a servir conservar la bd, y que no se borre, solo que necesito que de la hoja dos, que es mi reporteador descrimine por tipo de cuenta y nombre haga una suma por tipo de gasto y asi mismo lo resuma en su respectiva hoja de poliza de cheque, claro yo identifico los cargos en la hoja dos por "D" los cargos y por "H" los abonos, espero puedan ayudarme con este codigo, saludos.

pongo el archivo que me hace lo que necesito, pero no me conservan los datos de factura

http://www.megaupload.com/?d=OGE389XH

y pongo este otro que es donde quiero que me ayuden, el vaciado lo tendria que hacer parecido al primero que posteo

http://www.megaupload.com/?d=QC6GUD5A

Saludos!!!


----------



## titino (May 7, 2010)

asi quedaria
<html><head><title>Excel Jeanie HTML</title></head><body>Excel WorkbookABCDEFG1POLIZA DE CHEQUEEg2Nombre3RFC45678910111213141516171819202122Cuenta / SubctaNombrePARCIALDEBEHABER23246000-0002-000FLETES Y ACARREOSD$        198.28251190-0001-000IVA ACREDITABLED$         31.7226271120-0010-000BANCOMERH$         230.00282930313233343536373839404142434445464748495051525354Sumas Totales$        230.00$         230.005556Hecho por:RevisadoAutorizadoAuxiliaresFechaPoliza Cheque No.5758Poliza Cheque
</body></html>


----------



## titino (May 17, 2010)

hay alguien ahi?


----------



## Greg Truby (Jun 2, 2010)

Titino,
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-comfficeffice" /><o></o> 
No me queda claro qué es el proceso y la meta. Favor confirmar que comprendo bien – una llena la hoja que dice “Póliza de Cheque” manualmente y la meta es cliquear un botón para trasladar los datos a la hoja que dice “sistema centralizador…” antes de limpiar la hoja Póliza.<o></o>

¿O es la meta empezar con la hoja “Póliza de Cheque” limpia y llenarla basado en los datos visibles en la hoja “sistema centralizador…”?<o></o>

Atte,


----------



## titino (Jun 3, 2010)

Greg Truby said:


> Titino,
> <?xml:namespace prefix = o ns = "urn:schemas-microsoft-comfficeffice" /><o></o>
> No me queda claro qué es el proceso y la meta. Favor confirmar que comprendo bien – una llena la hoja que dice “Póliza de Cheque” manualmente y la meta es cliquear un botón para trasladar los datos a la hoja que dice “sistema centralizador…” antes de limpiar la hoja Póliza.<o></o>
> 
> ...


 
En principio, creo que no es asi, sistema centralizador es la hoja dos, y ahi ya tengo un comandbutton, para extraer inf, dependiendo que ponga en valor a localizar, en este caso pongo el numero de cheque, y me trae de la hoja1, los datos de las facturas que se asocian a dicho cheque, ahora bien, lo que pretendo con esa info es contabilizarla al formato poliza de cheque via vba, claro tomando en cta las ctas contables, yo puse  "d" para los cargo y "h", para los abonos, claro, tiene que estra resumido todo los subtotales de cada cta.

Espero haberme dado a entender, saludos!!!!


----------



## Greg Truby (Jun 3, 2010)

¿Puede aclarar qué es lo significa


titino said:


> ...lo que pretendo con esa info es contabilizarla al formato poliza de cheque via vba...


?
No comprendo qué significa "contabilizarla".


----------



## titino (Jun 3, 2010)

Greg Truby said:


> ¿Puede aclarar qué es lo significa
> ?
> No comprendo qué significa "contabilizarla".


 
en su forma fas simple, contabilizar, es contar, en este caso sumar, las partidas de gastos y sacar un total, y ese total asentarlo en su respectivo lugar, ya sea un cargo u abono (debito / credito)o (D/H).


discriminando por tipo de cuenta, es decir por partida de gasto en este caso, y arrojando en el debe o haber, dependiendo de su letra  d   o h.

Saludos!!!


----------



## Greg Truby (Jun 3, 2010)

Pero usted ya tiene fórmulas en las celdas E54:F54 que brindarán las sumas de debes y haberes asi que no comprendo qué es lo que le hace falta.


----------



## titino (Jun 3, 2010)

Greg Truby said:


> Pero usted ya tiene fórmulas en las celdas E54:F54 que brindarán las sumas de debes y haberes asi que no comprendo qué es lo que le hace falta.


 
Esas sumas siempre van a estar ahi, ya que lo que se contabilizara seran las ctas y los importes de las ctas, es decir que se arroje en automatico a la poliza.

en mi primer post, ahi habia puesto un archivo en megauload, para mayor detalle, solo que por cuestiones de virus, no quisieron hacerlo.





```
' ESTE CODIGO REALIZA LOS CARGOS
If Range("b1") = "" And Range("b2") = "" Then
MsgBox "¡¡¡No se puede realizar la póliza no hay datos!!!"
End
End If
If Range("B54") = 1 Then
MsgBox "¡¡¡no tiene permiso"
End
End If
Application.ScreenUpdating = False
Sheets("varios").Select
Range("B50").Select
Do Until ActiveCell = ""
        
        Do Until ActiveCell <> 0 Or ActiveCell = ""
            If ActiveCell = 0 Then
                ActiveCell.Offset(0, 1).Range("A1").Select
            End If
        Loop
        
        Selection.Copy
        
        Sheets("Poliza Cheque").Select
        Range("e23").Select
        Do Until ActiveCell = ""
           If ActiveCell <> "" Then
              ActiveCell.Offset(1, 0).Range("A1").Select
           End If
        Loop
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
            
        Sheets("varios").Select
        ActiveCell.Offset(-49, 0).Range("A1").Select
        Application.CutCopyMode = False
        Selection.Copy
        
        Sheets("Poliza Cheque").Select
        ActiveCell.Offset(0, -4).Range("A1").Select
        ActiveSheet.Paste
        
        Sheets("varios").Select
        ActiveCell.Offset(49, 1).Range("A1").Select
        Application.CutCopyMode = False
Loop
    
    Sheets("Poliza Cheque").Select
    ActiveCell.Offset(2, 5).Range("A1").Select
' ESTE CODIGO REALIZA LOS ABONOS
Sheets("varios").Select
Range("X50").Select
Do Until ActiveCell = ""
    Do Until ActiveCell <> 0 Or ActiveCell = ""
        If ActiveCell = 0 Then
            ActiveCell.Offset(0, 1).Range("A1").Select
        End If
    Loop
    
    Selection.Copy
    Sheets("Poliza Cheque").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("varios").Select
    ActiveCell.Offset(-49, 0).Range("A1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Poliza Cheque").Select
    ActiveCell.Offset(0, -5).Range("A1").Select
    ActiveSheet.Paste
    ActiveCell.Offset(1, 5).Range("A1").Select
    
    Sheets("varios").Select
    ActiveCell.Offset(49, 1).Range("A1").Select
    Application.CutCopyMode = False
Loop
'Copia Suma Cargos de las cuentas
    Sheets("Poliza Cheque").Select
    ActiveCell.Offset(0, -1).Range("A1").Select
Sheets("varios").Select
    Range("U52").Select
    Selection.Copy
    Sheets("Poliza Cheque").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
'Copia Suma Abonos de las cuentas
    Sheets("Poliza Cheque").Select
    ActiveCell.Offset(0, 1).Range("A1").Select
Sheets("varios").Select
    Range("AC52").Select
    Selection.Copy
    Sheets("Poliza Cheque").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    
' Terminan los movimientos de las Cuentas principales
    Sheets("Poliza Cheque").Select
    ActiveCell.Offset(3, -1).Range("A1").Select
'Si es un solo proveedor se ejecuta este código CARGOS
        Sheets("varios").Select
        Range("AE52").Select
        Selection.Copy
        Sheets("Poliza Cheque").Select
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
        Sheets("varios").Select
        Range("A1").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Poliza Cheque").Select
        ActiveCell.Offset(0, -4).Range("A1").Select
        ActiveSheet.Paste
        Selection.ClearComments
        ActiveCell.Offset(2, 5).Range("A1").Select
'Si es un solo proveedor se ejecuta este código ABONOS
    Sheets("varios").Select
    If Range("AE52") > 0 Then
            Range("AE52").Select
            Selection.Copy
            Sheets("Poliza Cheque").Select
                Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                    :=False, Transpose:=False
            ActiveCell.Offset(0, -5).Range("A1").Select
            Sheets("varios").Select
            Range("AE1").Select
            Selection.Copy
            Sheets("Poliza Cheque").Select
            ActiveSheet.Paste
                Application.CutCopyMode = False
    
End If
'Termina la póliza de Cheque
Sheets("Poliza Cheque").Select
Range("A23:A53,d23:F53").Select
   Selection.Interior.ColorIndex = xlNone
   Selection.ClearComments
        
Sheets("varios").Select
        Range("a1").Select
Sheets("Poliza Cheque").Select
Range("a1").Select
End Sub
```
 
Esta macro me hace eso, pero los datos los tengo ordenados , por filas y esos son por columnas.


----------



## Greg Truby (Jun 3, 2010)

Bueno ya bajé los dos archivos y corrí el macro _CrearPolizaChequeVarios_ y aunque es bastante feita, me parece que sí funciona.  ¿Así que qué es lo que quiere que el macro haga que no está haciendo en este momento?


----------



## titino (Jun 4, 2010)

Efectivamente esta feita (habria una manera de sintetizarla en unas cuantas lienas de codigo?), en realidad, el efecto de ese libro que contiene la macro _CrearPolizaChequeVarios, es el que quiero recrear en el otro libro gastos_contables1.xls, que me haga el vaciado a la poliza de cheque._

_mi hoja1 es la bd, la hoja2, es para extraer los datos de cada cheque, con el boton buscar por campo, hasta ahi todo bien, esa misma informacion quiero mandarla a la poliza de cheque, tal como lo hace la macro quejecuto, claro en el libro la informacion esta distribuida diferente, pero quiero lograr el mismo efecto, que es hacer el vaciado a la poliza de cheque._

_Saludos!!!_ 

Asi debe quedar


> <html><head><title>Excel Jeanie HTML</title></head><body>Excel WorkbookABCDEFG1POLIZA DE CHEQUEEg2Nombre3RFC45678910111213141516171819202122Cuenta / SubctaNombrePARCIALDEBEHABER23246000-0002-000FLETES Y ACARREOSD$        198.28251190-0001-000IVA ACREDITABLE EN GASTO 16%D$         15.86261190-0002-000IVA ACREDITABLE EN COMP DE CONTADO 16%D$         15.862728291120-0010-000BANCOMERH$         230.0030313233343536373839404142434445464748495051525354Sumas Totales$        230.00$         230.005556Hecho por:RevisadoAutorizadoAuxiliaresFechaPoliza Cheque No.57Poliza Cheque
> </body></html>


 




Greg Truby said:


> Bueno ya bajé los dos archivos y corrí el macro _CrearPolizaChequeVarios_ y aunque es bastante feita, me parece que sí funciona. ¿Así que qué es lo que quiere que el macro haga que no está haciendo en este momento?


----------



## titino (Apr 27, 2010)

Un gran saludo y reconocimiento para esta pagina excel- ente, dedicada al excel.

es para mi un honor poder postear el siguiente requerimiento.

tengo un libro que hace un vaciado de una hoja a otra rellenando una poliza de cheque, y cuando quiero hacer otra poliza tengo que borrar todo y volver a cargar datos, ahora bien he diseñado otra extructura que me va a servir conservar la bd, y que no se borre, solo que necesito que de la hoja dos, que es mi reporteador descrimine por tipo de cuenta y nombre haga una suma por tipo de gasto y asi mismo lo resuma en su respectiva hoja de poliza de cheque, claro yo identifico los cargos en la hoja dos por "D" los cargos y por "H" los abonos, espero puedan ayudarme con este codigo, saludos.

pongo el archivo que me hace lo que necesito, pero no me conservan los datos de factura

http://www.megaupload.com/?d=OGE389XH

y pongo este otro que es donde quiero que me ayuden, el vaciado lo tendria que hacer parecido al primero que posteo

http://www.megaupload.com/?d=QC6GUD5A

Saludos!!!


----------



## Greg Truby (Jun 4, 2010)

¿Qué significa la "bd" en "_mi hoja1 es la bd..." _?

Y si hablamos de solamente datos contenidos en _GASTOS_CONTABLES1.xls_, ¿de donde sale los datos para la línea del debe $198.28 y del haber para $230?  Solamente encuentro datos para las dos transacciones de $15.86 que corresponden a las filas 9 y 10 en la hoja 2 y/o las filas 3 y 4 en la hoja 1.


----------



## titino (Jun 4, 2010)

De la hoja2 rango E9:L9, es para los cargos, los 198.28 salen del subtotal, en este caso tomando en cuenta la cta  6000-0002-000 y su nombre FLETES Y ACARREOS  $ 99.14 + 99.14 = 198.28, claro pueden ser cutas distintas y habria que hacer su suma de cada cta via vba, la bd es la base de datos las cuales estaran fijos en la hoja1.

De M9:T9, serian los abonos.
en este caso CAJA-BANCOMER-SANTANDER da la suma de 230.oo este seria abonado.

Saludos






Greg Truby said:


> ¿Qué significa la "bd" en "_mi hoja1 es la bd..." _?
> 
> Y si hablamos de solamente datos contenidos en _GASTOS_CONTABLES1.xls_, ¿de donde sale los datos para la línea del debe $198.28 y del haber para $230? Solamente encuentro datos para las dos transacciones de $15.86 que corresponden a las filas 9 y 10 en la hoja 2 y/o las filas 3 y 4 en la hoja 1.


----------



## Greg Truby (Jun 4, 2010)

¿Favor confirmar qué es la clave para la agrupación?  Según los ejemplos presentados, la clave para agrupar montos viniendo de la columns L ("Subtotal") y los de la P (¿o es la T?) también se agrupa por la cuenta en columna F.  Pero la clave para agrupar montos que vienen la la O (IVA) es la cuenta que está en la N.  ¿Así es?


----------



## titino (Jun 4, 2010)

Greg Truby said:


> ¿Favor confirmar qué es la clave para la agrupación? Según los ejemplos presentados, la clave para agrupar montos viniendo de la columns L ("Subtotal") y los de la P (¿o es la T?)
> 
> En este caso seria la T, la "P", no jugaria para nada.
> 
> ...


 
Creo que ahora si esta todo mas claro.

Saludos!!!!!


----------



## titino (Jun 13, 2010)

titino said:


> Creo que ahora si esta todo mas claro.
> 
> Saludos!!!!!


 
En vacance?, bueno, seguire esperando saludos, felizmundial!!


----------



## titino (Jun 26, 2010)

titino said:


> En vacance?, bueno, seguire esperando saludos, felizmundial!!


 
Veo que ya anda por aqui maestro greg.

Espero le pueda  hechar una manita !!!

Saludos!!


----------



## titino (Jun 29, 2010)

help me

Podria ayudarme con el codigo, yo no tengo la mas minima idea de como empezar, sobre esto.

Desde ya le agradesco su aportacion.

Saludos!!!


----------



## Greg Truby (Jul 1, 2010)

Titino,
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-comfficeffice" /><o></o>
Antes de proceder creo que nos ayudaría si le hago unas preguntas para darme mejor idea sobre cuáles serían los senderos más beneficiosos para usted. 

Usted dice «no tengo la más mínima idea de cómo empezar» pero los cuadernos que usted proveyó contienen hasta UserForms y código que atrapa eventos y encima de eso los objetos son nombrados usando el protocolo Simonyi. Para mí esto implica que usted no es el autor sino que otra persona hizo los cuadernos y por a o por b usted ya no puede comunicar con el autor. ¿Así es, o me equivoco? 

También me parece que en su trabajo será un gran beneficio si usted puede aprender cómo programar un poco en VBA. Es *mucho* más trabajo, pero creo que el sendero que hará a usted crecer más sería que sirvo más como guía y menos de Santa Claus, regalando juguetes de VBA que cuando se quiebran la única opción es llorar y esperar rescate. ¿Estaría usted dispuesto hacer el trabajo si ilumino la vía?


----------



## Greg Truby (Jul 1, 2010)

Y sí, estaba de vacaciones por dos semanas en junio acampando.  Ni tuvimos señal celular, nadita de internet.  Y andaré de viaje la semana entrante también.


----------



## titino (Jul 1, 2010)

llorar, lo que se dice llorar, creo que no!!!

es mas estoy estudiando vba, y en el cuaderno que provee, tome ejemplos que compre de libros de vba, y que adapte a mis necesidades especificas, y se vba medianamente, y puedo crear form en vba, claro todo bajo mis limitaciones, a lo que me referia con no tengo la mas minima idea de como empezar me referia a que codigo formula emplear ya sea mediante autofilter, o utilizar la formula subtotales.

pero su ud, puede ayudarme a encaminar el fin de el proyecto, por que ya esta empezado le agradeceria, aun asi si no desea hacerlo,  tambien le agradesco su sugerencia.

Feliz vacaciones!!!


----------



## titino (Apr 27, 2010)

Un gran saludo y reconocimiento para esta pagina excel- ente, dedicada al excel.

es para mi un honor poder postear el siguiente requerimiento.

tengo un libro que hace un vaciado de una hoja a otra rellenando una poliza de cheque, y cuando quiero hacer otra poliza tengo que borrar todo y volver a cargar datos, ahora bien he diseñado otra extructura que me va a servir conservar la bd, y que no se borre, solo que necesito que de la hoja dos, que es mi reporteador descrimine por tipo de cuenta y nombre haga una suma por tipo de gasto y asi mismo lo resuma en su respectiva hoja de poliza de cheque, claro yo identifico los cargos en la hoja dos por "D" los cargos y por "H" los abonos, espero puedan ayudarme con este codigo, saludos.

pongo el archivo que me hace lo que necesito, pero no me conservan los datos de factura

http://www.megaupload.com/?d=OGE389XH

y pongo este otro que es donde quiero que me ayuden, el vaciado lo tendria que hacer parecido al primero que posteo

http://www.megaupload.com/?d=QC6GUD5A

Saludos!!!


----------



## Greg Truby (Jul 2, 2010)

¿Habrá problema si sorteamos las filas en la _hoja2_?


----------



## titino (Jul 3, 2010)

Greg Truby said:


> ¿Habrá problema si sorteamos las filas en la _hoja2_?


 
creo que no habria problema ordenar en la hoja2, yo hacia la ordenacion en la hoja poliza cheque, en otro libro que tengo de pruebas, y se me borra el formato, hice esta prueba con un libro nuevo , solo que con datos acomodados de forma distita, para ver si lograba el resultado de la ordenacion y el subtotal, se logro, pero no me respeta el formato. ademas el libro gastos contables1, estan acomodados de forma distinta,y por eso no logro hacerlo trabajar, publico este codigo, para que vea lo que he logrado


```
Sub RESUMIR()
Range([A2], "D" & [A1].End(xlDown).Row).Copy
    Sheets("poliza cheque").Select
    Sheets("poliza cheque").Range("A13").Activate
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Selection.Sort Key1:=Range("A13"), Order1:=xlAscending, Key2:=Range("C13"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:=xlSortNormal
While ActiveCell.Value <> ""
While ActiveCell.Value = ActiveCell.Offset(1, 0).Value And ActiveCell.Offset(0, 2).Value = ActiveCell.Offset(1, 2).Value
ACUM = ACUM + ActiveCell.Offset(0, 3).Value
ActiveCell.EntireRow.Delete
Wend
If ACUM > 0 Then
ACUM = ACUM + ActiveCell.Offset(0, 3).Value
ActiveCell.Offset(0, 3).Value = ACUM
ACUM = 0
End If
ActiveCell.Offset(1, 0).Select
Wend
End Sub
```


----------



## Greg Truby (Jul 3, 2010)

titino said:


> ```
> Sub RESUMIR()
> Range([A2], "D" & [A1].End(xlDown).Row).Copy
> Sheets("poliza cheque").Select
> ...


 
¿Quiere usar la _Hoja1_ como la fuente?  ¿O la _hoja2_?  Había entendido la 2 pero si va a empezar con celda A2, me parece que está empezando con la 1 - al menos que la estructura de la 2 haya cambiado.


----------



## Greg Truby (Jul 4, 2010)

Bueno, <?xml:namespace prefix = o ns = "urn:schemas-microsoft-comfficeffice" /><o></o>
<o></o>

Antes de proceder le voy a proveer una planilla general para muchos problemas. Es una programación muy débil suponer qué es la hoja activa y seleccionar celdas para trabajar con ellas. La presente es más robusto en cuanto a estar seguro que uno tiene las cosas bien definidos. La manera demostrada no es la más robusta. La mejor es usar los _CodeNames_, pero no vamos a preocuparnos sobre estos en este momento.<o></o>
<o></o>

También es mejor nombrar rangos. O si no va a hacer eso, por lo menos poner nombres de los objetos claves como constantes en el inicio de la rutina y si hay que cambiar un nombre o una dirección de celda es muy fácil.


```
Sub XferData()
    Const c_strSourceSheetName As String = "Hoja1"
    Const c_strTargetSheetName As String = "Poliza Cheque"
    Const c_strSourceRangeAddr As String = "A2"
    Const c_strTargetRangeAddr As String = "A13"
 
    Dim wsSource As Excel.Worksheet, _
        wsTarget As Excel.Worksheet, _
        rngSource As Excel.Range, _
        rngTarget As Excel.Range
 
    Set wsSource = Worksheets(c_strSourceSheetName)
    Set rngSource = wsSource.Range(c_strSourceRangeAddr)
    Set wsTarget = Worksheets(c_strTargetSheetName)
    Set rngTarget = wsTarget.Range(c_strTargetRangeAddr)
 
    '// resto del código
End Sub
```
<o></o>


----------



## titino (Jul 5, 2010)

En efecto, creo que tiene razon en mejor usar constantes, y eso seria algo mucho mas interesante, pasando a mi situacion, creo que usted no entendio mal al contrario, yo si deseo que se haga el trabajo de la hoja2 a lo hoja poliza de cheque, lo que puse es solo para demostrar que lo que he intentado no me ha funcionado como yo quiero, yese fue algo distinto a mi hoja de gastos contables, es por eso que si ud me puede ayudar aencaminar esa parte, prometo estudiar el codigo que me de  a fondo.

digamos que ese juguetito vba me puede ayudar mucho, y tendria material de estudio.

Mucchisimas gracias por todo don greg truby


----------



## Greg Truby (Jul 6, 2010)

titino - otra vez voy a andar sin conexión al internet por unos días. Por el momento trate de usar lo que le di para copiar las celdas deseadas de _hoja2_ a la celda correcta en la hoja _poliza de cheque_.


----------



## titino (Jul 6, 2010)

Greg Truby said:


> titino - otra vez voy a andar sin conexión al internet por unos días. Por el momento trate de usar lo que le di para copiar las celdas deseadas de _hoja2_ a la celda correcta en la hoja _poliza de cheque_.


 
ok, creo que sera un poco dificil, vere que puedo hacer!!!!

Saludos , feliz campamento!!


----------

