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
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’:
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.