Error de desbordamiento cuando la macro es llamada por otra macro, pero no de forma individual.
He estado buscando en Internet para tratar de encontrar una solución o al menos entender por qué sucede esto. No voy a escribir el código completo aquí ya que es enorme, pero básicamente, tengo una macro que realiza múltiples cálculos sobre números de población para obtener porcentajes y cosas así. La macro funciona perfectamente por sí misma.
El problema surge más tarde, actualmente estoy construyendo un “ReportMaker” que abriría varios archivos de Excel y volcaría la información en un documento de Word para automatizar la creación de cualquier informe. Cuando este nuevo libro de trabajo llama a la macro inicial que funcionaba perfectamente por sí misma, obtengo un error de desbordamiento en esta línea (La que tiene la flecha delante):
If Zone_Primaire = True Then
wb_Resultat.Worksheets("Profil FR").Rows(i).NumberFormat = "0%"
====> wb_Resultat.Worksheets("Profil FR").Cells(i, Colonne + 2) = (wb_Resultat.Worksheets("Profil FR").Cells(i - wb_cour.Worksheets("Template").Cells(i, 3), Colonne + 2) - wb_Resultat.Worksheets("Profil FR").Cells(i - wb_cour.Worksheets("Template").Cells(i, 2), Colonne + 2)) / wb_Resultat.Worksheets("Profil FR").Cells(i - wb_cour.Worksheets("Template").Cells(i, 2), Colonne + 2)
Else
'wb_Resultat.Worksheets(1).Cells(i, Colonne + 2) = wb_Resultat.Worksheets(1).Cells(i, Nb_Benchmark + Colonne + 5) / wb_Resultat.Worksheets(1).Cells(k, Nb_Benchmark + Colonne + 5)
wb_Resultat.Worksheets("Profil FR").Cells(i + Ligne_Insert, Colonne + 2) = (wb_Resultat.Worksheets("Profil FR").Cells(i + Ligne_Insert - wb_cour.Worksheets("Template").Cells(i, 3), Colonne + 2) - wb_Resultat.Worksheets("Profil FR").Cells(i + Ligne_Insert - wb_cour.Worksheets("Template").Cells(i, 2), Colonne + 2)) / wb_Resultat.Worksheets("Profil FR").Cells(i + Ligne_Insert - wb_cour.Worksheets("Template").Cells(i, 2), Colonne + 2)
End If
He buscado entender por qué sucede esto y aún no entiendo cómo obtengo este error en casos específicos y también hay muy pocas variables capaces de causarlo.
wb_resultat
y wb_cour
se han declarado como workbook, i
como entero, colonne
como entero.
colonne
nunca supera realmente 10 e i
es 11.
Gracias.
davy.ai
Basándose en la información proporcionada, parece que se está produciendo un error de desbordamiento en la línea donde se realiza un cálculo. Esto podría deberse a una o más de las siguientes razones:
Para solucionar el problema, podría intentar lo siguiente:
Además, podría ser útil proporcionar más información o el código completo para un análisis y solución de problemas más detallado.