Saltar al contenido

mellapm

Miembro
  • Contador de contenido

    80
  • Unido

  • Última visita

Sobre mellapm

  • Cumpleaños 07/05/1982

Configuraciones

  • Campo que utilizas como separador de argumentos
    ,

Visitantes recientes del perfil

815 visitas de perfil

mellapm's Achievements

Novato

Novato (1/14)

  • + de 1 semana
  • + de 1 mes
  • + de 1 año

Insignias recientes

0

Reputación de la comunidad

  1. Hola buen día, tengo un archivo que en una hoja llamada "Evaluación" está dividido por secciones llamadas por ejemplo profesiograma, genéricas o institucionales por citar algunos solamente, y dentro de cada sección hay una cantidad de criterios o puntos que pueden variar la cantidad de ellos, en el archivo que anexo se menciona que de profesiongrama son 14 puntos a evaluar, de genéricas son 9 y de institucionales son 6, y dentro del mismo archivo se encuentra otra hoja en la cual se mencionan dentro de la columna "C" los puntos que dentro de la hoja de evaluación fue con valor "0" y para ello me proporcionaron una "formula o función"  que elaboró otro compañero de la oficina con el siguiente código:

    Function OBTENVALOR(r As Range)
    
    OBTENVALOR = ""
    
    For i = 0 To 13
    
    If (Worksheets(r.Worksheet.Name).Cells(r.Cells.Row + i, r.Cells.Column).Value = 0) Then
        
    OBTENVALOR = OBTENVALOR & Worksheets(r.Worksheet.Name).Cells(r.Cells.Row + i, r.Cells.Column - 4).Value & Chr(10) & Chr(13)
      
    End If
    
    Next i
    
    End Function

    el problema es que en el caso de la sección genéricas al momento de usar la función con el rango que usa dicha sección me arroja dentro del resultado un valor que pertenece a la siguiente sección que es la de institucionales (el dato del resultado dice "compromiso" y debe ir solamente en la ultima sección), de lo poco que he tratado de entender el código es que la clave radica en la linea 

    For i = 0 To 13

    que en lo que entiendo habla de 14 filas que aplica perfecto para la primera sección ya que ahí se califican 14 filas de criterios, por lo que mi pregunta es si se puede modificar el código de tal modo que solo arroje el resultado del rango que se solicita o en todo caso que al momento de aplicar la fórmula o función yo pueda agregar el dato de filas a evaluar? 

    mas que nada porque este solo es un ejemplo para una categoría especifica y hay otras en las que en las mismas secciones varían el numero de criterios de evaluación, por lo que de seguir así con cada categoría tendría que hacer una función especifica para cada sección en la que varíen los criterios a evaluar, hay alguna sugerencia que me pudieran hacer?

    de antemano gracias por ayuda que me puedan brindar, saludos a todos

     

    prueba ejemplo.xlsm

    1. Leopoldo Blancas

      Leopoldo Blancas

      Hola,

      Si, ahí esta el problema: cámbialo por:

      For i = 0 To r.Rows.Count

       

      Saludos.

       

       

    2. mellapm

      mellapm

      Gracias por tu ayuda ?

×
×
  • 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.