Saltar al contenido

borrar y pintar bloques de datos


Recommended Posts

Estimados, buenos días

Me comunico con ustedes ya que estoy con un problema de programación. Tengo idea de como sería la estructura pero no de como es el código ya que yo programaba en pascal / delphi.

La planilla es para evaluar ofertas de equipos médicos con una puntuación que está en la hoja 2 llamada listas. Eso lo solucioné y anda bien, hace la suma y todo eso.

Lo que pretendo ahora es poder borrar los ítems que los oferentes no presentan. Si bajan la planilla, en la hoja 1 llamada Evaluación por ítems vemos que hay columnas que agrupan a las empresas y filas que agrupan los equipos ofrecidos. La idea sería que el programa busque dentro de las columnas de con datos (for si columna <> vacio) filas desde la 9 (y cada nueve que es donde van los precios de lo ofertado ....) y si es vacía que borre la econtrada más siete y las ocho filas de la columna de al lado....así hasta el último ítems distinto de vacío.

Lo de pintar, sería que se fijara recorriendo las filas de puntaje final (fila 10, 19, 28....) y si es el mayor de esa fija pintar las ocho filas como se ve en la planilla.

Se que es bastante y para mi lo más importante sería lo de borrar...si lo de pintar o colorear se logra sería fantástico!

Desde ya muchas gracias.

Saludos

Chikyto

2012 VI 05 - Prueba - Proforma de evaluación de oferentes.zip

Enlace a comentario
Compartir con otras webs

Hola Chikyto, antes de complicarla demasiado... ¿ya probaste usando las funciones propias de Excel: Formato Condicional y Borrar Duplicados? Parece que esas funciones -vienen desde Excel 2007- cumplen la tarea. Si lo que necesitás es algo más estructurado ahí sí hay que meterse de lleno en VBA.

Enlace a comentario
Compartir con otras webs

La verdad que no porque como siempre parto de una planilla completa, donde tengo repetido todas las filas en los grupos esos de 8 filas, porque cada vez que evalúo un equipo debo completarla y no siempre las evaluaciones son de la misma cantidad de ítems, entonces quería hacer una macro que recorriera y pueda borrar lo no usado!

Gracias de todos modos

Enlace a comentario
Compartir con otras webs

Simplemente fantástico...modifiqué varias cosas de formas pero nada de la base que fue lo que me mandaste. No se porque en esa planilla arrancaba en la columna B y fila 6 así que rehice todo eso, sacando filas y columnas innecesarias y cambié el color por uno RGB. La verdad que así me lo imaginaba pero es que no conozco la sintaxis.

Ahora hice la planilla con muchas más filas y columnas, las cuales como viste se repiten y se me ocurrió pensar en si hay una forma de que al abrir el archivo, aparezca un mensaje donde poner la cantidad de empresas y la cantidad de equipos o ítems a evaluar y que se cargue solo eso....pero de todos modos, es fantástico, me funciona a la perfección. Voy a colgar la planilla final porque le puede servir a alguien más.

Saludos y nuevamente muchas gracias

Chikyto

Evaluación de oferentes 2003.zip

Enlace a comentario
Compartir con otras webs

modifiqué varias cosas de formas pero nada de la base que fue lo que me mandaste. No se porque en esa planilla arrancaba en la columna B y fila 6 así que rehice todo eso, sacando filas y columnas innecesarias y cambié el color por uno RGB. La verdad que así me lo imaginaba pero es que no conozco la sintaxis.

Perfecto entonces, porque hice mucho más código del necesario justamente por esos 2 motivos:

1º) para permitirte aprender este lenguaje

2º) para hacerlo más adaptable a las variaciones de la planilla: si dejaba celdas "fijas" de inicio -tipo Range("A1")- cada vez que agregues filas y/o columnas (o muevas los datos), debías meterte a corregir el código.

Ahora hice la planilla con muchas más filas y columnas, las cuales como viste se repiten y se me ocurrió pensar en si hay una forma de que al abrir el archivo, aparezca un mensaje donde poner la cantidad de empresas y la cantidad de equipos o ítems a evaluar y que se cargue solo eso....

Esto es posible, pero quizás resulte molesto. A mi personalmente me resulta más cómodo dejar esos datos en una celda que esté en desuso y que las variables tomen los valores necesarios de esas celdas.

Ejemplo:

- en la celda Listas!A20 coloco el dato Para Celda Empresa 1 (D1, sin las comillas)

- Luego, en VBA, asignación de variables iniciales, cambio la línea

Set celdaPrimerEmpresa = Planilla.Range("D1")

por esta otra:

Set celdaPrimerEmpresa = Range(ThisWorkbook.Sheets(2).Range("A20").Value)

y de igual manera proceder con las otras variables que quieras controlar desde afuera del código.

Aplaudo la actitud de compartir el archivo con las modificaciones finales :encouragement:.

--------

TEMA SOLUCIONADO

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.