copiar filas según criterio

19/11/2007 - 20:29 por draiko | Informe spam
Hola otra vez,

Estoy buscando una forma de copiar y pegar una fila ( no toda sino un
parte de la misma) de acuerdo a un valor maximo.



Explico de manera mas detallada mi necesidad.


tengo una tabla con varios datos de ventas. En la columna BA tengo los
totales por tienda y deseo buscar el valor maximo de estos totales
de cada tienda ( en el rango BA11:BA22 esta la primera tienda) , una
vez encontrado el valor maximo deseo que se copie la fila pero solo
los datos de la columna AA y AZ de esa fila.


Espero me puedan ayudar.

Saludos

Preguntas similare

Leer las respuestas

#1 Ivan
19/11/2007 - 21:09 | Informe spam
hola,

Estoy buscando una forma de copiar y pegar una fila ( no toda sino un
parte de la misma) de acuerdo a un valor maximo.

Explico de manera mas detallada mi necesidad.

tengo una tabla con varios datos de ventas. En la columna BA tengo los
totales por tienda y deseo buscar el valor maximo de estos totales
de cada tienda ( en el rango BA11:BA22 esta la primera tienda) , una
vez encontrado el valor maximo deseo que se copie la fila pero solo
los datos de la columna AA y AZ de esa fila.



creo que te faltan al menos tres detalles muy importantes para poder
darte una respuesta concreta:

1º) en que columna esta el nombre (o clave/identificador unico, o lo
que sea) que diferencie una tienda de otra. (por lo que dices en BA
estan las cantidades.

en definitiva: en que columna esta el nombre/o,,,, de la tienda y en
cual las cantidades



2º) hablas de tiendas en plural pero luego indicas un rango fijo para
la 1ª. ¿las demas tambien tienen/ocupan un rango fijo, o puede ser
variable?, y, si es fijo ¿cuales son esos rangos? y en cualquier caso,
supongo que no habra filas/celdas vacias entre tiendas¿o si?

3º) donde quieres pegar lo copiado (en que celdas/columnas de que hoja/
libro)

y,...4º, 5º, aunque se puede suponer, ¿cual es la 1ª fila de
datos?¿la 11?¿tiene fila de titulos?¿la 10?¿hay algun dato (del tipo
que sea) en la fila inmediatamente superior a la de titulos?, no
imprescindible [creo] pero util ¿que columnas ocupa la lista completa,
sin columnas vacias entre medias?

bueno, creo que, al menos en lo que a mi respecta, no sobrarian unos
cuantos de estos detalles (mas los que creas puedan ser utiles) para
poder darte una respuesta no sujeta a la imaginacion

si quieres comentas

un saludo
Ivan
Respuesta Responder a este mensaje
#2 draiko
19/11/2007 - 22:20 | Informe spam
On 19 nov, 15:09, Ivan wrote:
hola,

> Estoy buscando una forma de copiar y pegar una fila ( no toda sino un
> parte de la misma) de acuerdo a un valor maximo.

> Explico de manera mas detallada mi necesidad.

> tengo una tabla con varios datos de ventas. En la columna BA tengo los
> totales por tienda y deseo buscar el valor maximo de estos totales
> de cada tienda ( en el rango BA11:BA22 esta la primera tienda) , una
> vez encontrado el valor maximo deseo que se copie la fila pero solo
> los datos de la columna AA y AZ de esa fila.

creo que te faltan al menos tres detalles muy importantes para poder
darte una respuesta concreta:

1º) en que columna esta el nombre (o clave/identificador unico, o lo
que sea) que diferencie una tienda de otra. (por lo que dices en BA
estan las cantidades.

en definitiva: en que columna esta el nombre/o,,,, de la tienda y en
cual las cantidades

2º) hablas de tiendas en plural pero luego indicas un rango fijo para
la 1ª. ¿las demas tambien tienen/ocupan un rango fijo, o puede ser
variable?, y, si es fijo ¿cuales son esos rangos? y en cualquier caso,
supongo que no habra filas/celdas vacias entre tiendas¿o si?

3º) donde quieres pegar lo copiado (en que celdas/columnas de que hoja/
libro)

y,...4º, 5º, aunque se puede suponer, ¿cual es la 1ª fila de
datos?¿la 11?¿tiene fila de titulos?¿la 10?¿hay algun dato (del tipo
que sea) en la fila inmediatamente superior a la de titulos?, no
imprescindible [creo] pero util ¿que columnas ocupa la lista completa,
sin columnas vacias entre medias?

bueno, creo que, al menos en lo que a mi respecta, no sobrarian unos
cuantos de estos detalles (mas los que creas puedan ser utiles) para
poder darte una respuesta no sujeta a la imaginacion

si quieres comentas

un saludo
Ivan




No hay nombre de cada tienda tengo 10 tiendas y las separo solo con
un formato de borde. Lo que tengo realmente es un analisis de ventas
por mes entonces hacia abajo esta enumerado desde el 1 hasta al 120 en
la columna AA.

Cada rango es fijo y equivale a 12 meses por eso es necesario buscar
el mayor del rango. Para poder hace un analisis de ventas.


No hay espacios entre filas ni columnas aunque en la misma hoja hay
varias tablas.

La informacion a copiar y pegar sera en la misma hoja pero desde la
columna CA

Si tengo titulos en cada columna del tipo texto y si la informacion
(datos) inicia en la 11 como tu lo indicas.

Espero este mas claro con estas indicaciones.

Saludos.
Respuesta Responder a este mensaje
#3 Ivan
19/11/2007 - 23:23 | Informe spam
hola

si quieres prueba estas macros (OJO: seguro que se puede hacer con
funciones de hoja, pero yo soy un poco negado). mira a ver la que
mejor se adapte a lo que buscas

a) para el supuesto de que en la columna CA pones cada resultado en la
1ª fila vacia (es decir, no tienes datos por debajo de donde la vayas
a pegar)

Sub MaxVentas()
Dim n As Byte, ini As Byte
ini = 11
For n = 1 To 10
[ca65536].End(xlUp).Offset(1) = Application _
.Max(Range("ab" & ini & ":ab" & ini + 11))
ini = ini + 12
Next
End Sub

b) si conoces (que supongo que si por lo que comentas) la celda exact
donde va cada resultado (en el ej. te los coloca desde la fila 2 a la
11 (CA2:CA11)

Sub MaxVentas_2()
Dim n As Byte, ini As Byte
ini = 11
For n = 1 To 10
Range("ca" & n + 1) = Application _
.Max(Range("ab" & ini & ":ab" & ini + 11))
ini = ini + 12
Next
End Sub

NOTA: no estan probados, pero creo que deberian funcionar (llamalos /
asignaselos) como consideres

espero te ayuden y si quieres comentas

un saludo
Ivan
Respuesta Responder a este mensaje
#4 Ivan
20/11/2007 - 00:04 | Informe spam
hola de nuevo,

disculpame, con mi perorata y tu respuesta se me ha ido de la olla lo
que buscabas y solo me he acordado del maximo. Me acabo de dar cuenta.
Voy a revisarlo y te comento (sorry)

un saludo
Ivan
Respuesta Responder a este mensaje
#5 Ivan
20/11/2007 - 00:57 | Informe spam
hola de nuevo,

olvidate de mis otras respuestas (creo que las voy a quitar) y si
quieres prueba esta macro a ver que tal


'pegalo en un modulo normal
'
Sub MaxVentas_3()
Dim n As Byte, ini As Byte, maximo As Double, Celda As Range
ini = 11
For n = 1 To 10
maximo = Application.max(Range("ba" & ini & ":ba" & ini + 11))
Set Celda = Range("ba" & ini & ":ba" & ini + 11).Find(maximo, _
Range("ba" & ini), xlFormulas, xlWhole)
Range("aa" & Celda.Row & ",az" & Celda.Row).Copy _
Range("ca" & n + 1)
ini = ini + 12
Next
Set Celda = Nothing
End Sub


un saludo
ivan
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida