es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Contar todos los niveles sin esquemas como hijos.

Estoy tratando de encontrar una solución para contar el número de filas que están en el último nivel de esquema. En la imagen, como puedes ver, este es el resultado que deseo. Quiero detectar una fila en el rango donde el nivel de esquema solo tiene hijos y no hay ningún otro nivel de esquema debajo.

¿Alguien podría ofrecer algunas pautas sobre cómo encontrar este nivel de esquema, por favor?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para contar el número de filas en el último nivel de esquema, puedes usar código de VBA que itere a través de las filas en el rango, verifique el nivel de esquema de cada fila y cuente las filas donde el nivel de esquema solo tiene hijos.

    Aquí tienes un ejemplo de código que puedes usar:

    Sub ContarFilasUltimoNivelEsquema()
        Dim lastRow As Integer
        Dim rowCount As Integer
        rowCount = 0
    
        'Ajusta el rango según tus necesidades
        lastRow = Range("A" & Rows.Count).End(xlUp).Row
    
        For i = lastRow To 1 Step -1
            If Rows(i).OutlineLevel = 1 Then
                'La fila no tiene padre y, por lo tanto, es la última fila en el esquema
                rowCount = rowCount + 1
            ElseIf Rows(i).OutlineLevel = Rows(i + 1).OutlineLevel + 1 Then
                'La fila no tiene hijos y, por lo tanto, está en el último nivel de esquema
                rowCount = rowCount + 1
            End If
        Next i
    
        MsgBox "Número de filas en el último nivel de esquema: " & rowCount
    End Sub
    

    Este código asume que el rango comienza en la fila 1 y que las filas no están agrupadas o colapsadas. Si tu rango tiene filas agrupadas o colapsadas, es posible que debas ajustar el código en consecuencia.

Comments are closed.