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.

Bucles dentro de pares de hojas de cálculo en VBA.

Tengo 10 hojas de cálculo diferentes (a, b, c, d, e, f, etc.) en un solo documento de Excel. ¿Cómo puedo crear un bucle para comparar pares específicos de hojas de cálculo (a vs d, b vs e, c vs f, etc)?

Dim x As Integer
Dim y As Integer
Dim year1, year2 As Integer
Dim strname1, strname2, strname3, strname4 As String
Dim st
Dim p
strname1 = "Femenino"
strname2 = "Masculino"
strname3 = "Otro"
strname4 = "Desconocido"
year1 = 2019
year2 = 2020
For Each p In Array(2019, 2020)
For Each st In Array(strname1, strname2, strname3, strname4)
    Worksheets("a").Activate
    x = WorksheetFunction.SumIfs(Range("F9:F250"), Range("C9:C250"), p, Range("E9:E250"), st)
    Worksheets("d").Activate
    y = WorksheetFunction.SumIfs(Range("F7:F30"), Range("C7:C30"), p, Range("D7:D30"), st)
 If x = y Then
  MsgBox "Número de personas válidamente validadas para " & p & " " & st
Else
  MsgBox "Error en la validación para " & p & " " & st
End If

Next st
Next p
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para crear un bucle para comparar pares específicos de hojas de cálculo en un único documento de Excel, puedes utilizar bucles anidados para iterar sobre cada par de hojas de cálculo. Aquí tienes un código de ejemplo para comparar las hojas de cálculo ‘a’ y ‘d’, ‘b’ y ‘e’, y ‘c’ y ‘f’:

    Para Cada hoja1 En Array("a", "b", "c")
        Para Cada hoja2 En Array("d", "e", "f")
            ' Compara hoja1 y hoja2 aquí
            ' Código de ejemplo de comparación:
            Hojas(hoja1).Activate
            ' Haz algo
            Hojas(hoja2).Activate
            ' Haz algo
        Siguiente hoja2
    Siguiente hoja1
    

    Reemplaza el código con tu código de comparación específico, que compare los pares de hojas de cálculo según sea necesario. El código de ejemplo anterior recorre cada combinación de hoja1 y hoja2, por lo que puedes ampliarlo fácilmente a pares adicionales de hojas de cálculo si es necesario.

Comments are closed.