Excel - Ayuda con una macro en excel

 
Vista:

Ayuda con una macro en excel

Publicado por Alexis (2 intervenciones) el 24/05/2007 23:15:37
Hola, como muchos yo no soy muy experto en excel, pero necesito hacer una macro, que me haga lo siguiente, lo explicara para ver si queda claro,

Tengo una matriz de 65 x 65 la primer fila y la primer columna solo son las referencias por ejemplo AAA (en la columna) AAA (en la Fila) lo matriz que queda de 64x64 son numeros, ahora bien lo que necesito hacer, es una lista para cada una de las referencias es decir por ejemplo:

Referencia: AAA
Cambios: Valor: lugar de cambio tipo de cambio
AAC 0.245 3 lugar A-C
AAG 0.253 3lugar A-G
ACA 0 2lugar A-C
AGA 0.4 2lugar G-A

ahora bien todos los valores que sean 0 necesito que no aparescan en la lista, yo hice una funcion SI en la que SI(Valor=Verdadero) pone el cambio, copio la formula y lo hace, pero tambien me pone los cambios que son cero, queria ver si existia forma de ordenarle que si es 0 entonces no escriba o borre esa fila, para solo tener cambios mayores que cero.

Tambien para la otra parte como puedo hacer para saber en que lugar de la letra se hace el cambio me imagino que seria comparar AAA con cada valor y ver en que posicion es diferente pero no se como se podria comparar en excel :S y en el tipo de cambio tambien una ves que sepa si cambio de A-C por ejemplo me gustaria es escribiera TipoA, o TipoB etc.

Ojala puedan ayudarme y quede claro el comentario
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con una macro en excel

Publicado por José Luis (700 intervenciones) el 28/05/2007 09:27:43
Explicas fatal lo que quieres hacer, así que te expongo soluciones para lo que he entendido

* Para hacer que no te ponga los ceros cuando el cambio es 0 la solución es

Si(valor=Verdadero;loquesea;loquenosea)

Si (Valor = verdadero;Si(Loquesea=0;"";Loquesea);loquenosea)

Para comparar, puedes usar varios SI anidados, pero sólo puedes poner 7 anidaciones
SI(Celda="A-C";"TipoA";SI(Celda="A-G";"TipoB"; .......

En caso que tengas más tipos te aconsejo que crees una tabla con los posibles cambios y el nombre que quieras darles y después hacer un BuscarV sobre esa tabla.

Cómo obtener el tipo de cambio comparando AAA con el resto, pues es un poco difícil, podrías hacerlo directamente con funciones SI, pero se podría complicar con muchas anidaciones, una posible solución sería hacer una función que hiciese la operación directamente del tipo

COMPARARTIPOS ("AAA";"AAC";"COMPARA") = "A-C"
COMPARARTIPOS ("AAA";"AAC";"LUGAR") = 3

Pero es necesario saber cómo debería operar, con los ejemplos que has dado es imposible obtener el algoritmo

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con una macro en excel

Publicado por Alexis (2 intervenciones) el 29/05/2007 03:11:44
Gracias por responder y disculpa que no hayas entendido claramente mi problema, ya hice practicamente todo lo que necesitaba hacer, sin embargo tengo el problema de que debo repetir lo mismo 64 veces, por lo que quisiera hacer un macro que lo hiciera automaticamente, pero no soy muy bueno para ello, no se como se manejan los ciclos y como manipulo las celdas en el lenguaje VBA, explicar mi problema es algo complicado, pero no se si me puedes dar una breve reseña de como manejarlas, o alguna web donde pueda consultar esa informacion.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con una macro en excel

Publicado por JuanC (792 intervenciones) el 29/05/2007 20:47:19
si no sabes mucho de VBA te va a resultar bastante complicado lo q quieres hacer -q no está muy claro-
te sugiero q hagas tu mejor esfuerzo y expliques bien el problema y de ser
posible prepares un archivo de excel d ejemplo con lo q quieres para q lo
veamos y podamos hacer algo... de otra manera va a ser difícil...

Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar