Con éxito

Notas

Error

Session expiration Your session is going to expireClick here to extend

Presupuesto

800 - 1.500

Publicado el

12/11/13 13:30

Cliente

Pab***

Este proyecto ha expirado

Publica un proyecto similar y recibe ofertas sin compromiso alguno.

¡Publica un proyecto similar ahora!

Descripción

Tengo una planilla de Excel con varias columnas.

Necesitaría agregarle una MACRO que haga un "corrimiento" de un par de columnas hacia la fila siguiente, dejando el resto de las columnas igual.

Ir recorriendo el archivo e ir “pegando” los valores de determinados campos en el registro siguiente. Para eso sería necesario crear alguna variable temporal.

Adunto el ARCHIVOINICIAL  y el ARCHIVOFINAL (como debería quedar el archivo)

La idea sería, agarrar ARCHIVOINICIAL, posicionarse en el primer registro, guardar en variables el valor de los campos 2,3 y4 (CARGADIA, CARGAMES, HORACARGA) . Ir al siguiente registro y pegar los valores de las variables. Antes, hay que guardar los valores de CARGADIA, CARGAMES, HORACARGA del registro 2 en variables  para luego pegar en el registro 3.

Esto se repite mientras no cambie el CAJERO (columna 1)

Cuando se pasa al siguiente cajero (CAJERO es distinto a CAJERO), vuelvo a empezar el procedimiento para el Cajero actual.

El ARCHIVOFINAL queda todo igual que el primero con excepción de los campos , CARGAMES, HORACARGA que quedan un lugar abajo, quedando igual los dos primeros registros de cada cajero.

El seudocódigo sería algo así:

Inicio       (estoy parado en el primer registro de la tabla)

(guardo CAJERO en una variable para comparar con los registros siguientes)

Varcajero = CAJERO

(guardo en variables los valores que van a ir al segundo registro)

Vardia  = CARGADIA Varmes = CARGAMES Varhora = HORACARGA

NextRecord   (voy a registro siguiente)

If   Varcajero = CAJERO (siguiente registro corresponde al mismo CAJERO)

     (guardo en variables auxiliares los valores del registro 2) auxVardia  = CARGADIA auxVarmes = CARGAMES auxVarhora = HORACARGA

     (en el registro 2, pongo los valores del registro 1) Vardia  = CARGADIA Varmes = CARGAMES Varhora = HORACARGA

(en las variables guardo los valores que tenia el registro 2, que estaban en las variable auxiliares, para luego ponerlos en el registro 3) Vardia  = auxVardia Varmes = auxVarmes Varhora = auxVarhora

GOTO NextRecord

Else     (se terminaron los registros de el primer cajero y paso al segundo cajero)

     GOTO Inicio

 

En el archivo Excel que  mande de ejemplo puse solo dos cajeros. Manualmente en Excel se hace seleccionando del primer al penúltimo registro de cada cajero (solo las tres columnas que corresponden), copiar, y pegar en el registro de abajo. Ahí se hace el corrimiento.

 

Desde ya, muchas gracias, y a las órdenes para cualquier aclaración.