VBA Excel: resolver problema de capacidad.
Resuelto
Juan Pedro
-
Kunzi -
Kunzi -
Hola a todos los profesionales de VBA en Excel y a los demás.
Tengo un pequeño problema (error de tipo "6") que impide que uno de mis códigos termine correctamente, aunque no había tenido problemas hasta ahora... Raro, raro...
¿Tendrían alguna explicación para este problema repentino? ¿Tienen alguna pista para resolver este problema de desbordamiento? ¡De todos modos, gracias por tomarse el tiempo para ayudarme con mi problema!
Dim Tabla1() As Integer
Dim x1 As Integer, y1 As Integer
Dim i1 As Integer, j1 As Integer
x1 = 1465
y1 = 119
'Redimensiona la tabla de la fila 3 a x y de la 2ª columna a la y-ésima
ReDim Tabla1(2 To x1, 3 To y1)
'Completa los valores de la tabla sumando las celdas del mismo rango en 2 hojas
For i1 = 2 To x1
For j1 = 3 To y1
Tabla1(i1, j1) = Workbooks("Archivo Personal X.xls").Sheets("Estadísticas").Cells(i1, j1).Value + Workbooks("Libro Común X").Sheets("Estadísticas").Cells(i1, j1).Value
Next j1
Next i1
'Restituyes los valores de la tabla en la hoja3
With Workbooks("Libro Común X.xls").Sheets("Estadísticas")
.Range("C2:DO1465") = Tabla1
End With
Workbooks("Archivo Personal X.xls").Sheets("Estadísticas").Range("C2:DO1465").ClearContents
Configuración: Windows XP / Internet Explorer 6.0
Tengo un pequeño problema (error de tipo "6") que impide que uno de mis códigos termine correctamente, aunque no había tenido problemas hasta ahora... Raro, raro...
¿Tendrían alguna explicación para este problema repentino? ¿Tienen alguna pista para resolver este problema de desbordamiento? ¡De todos modos, gracias por tomarse el tiempo para ayudarme con mi problema!
Dim Tabla1() As Integer
Dim x1 As Integer, y1 As Integer
Dim i1 As Integer, j1 As Integer
x1 = 1465
y1 = 119
'Redimensiona la tabla de la fila 3 a x y de la 2ª columna a la y-ésima
ReDim Tabla1(2 To x1, 3 To y1)
'Completa los valores de la tabla sumando las celdas del mismo rango en 2 hojas
For i1 = 2 To x1
For j1 = 3 To y1
Tabla1(i1, j1) = Workbooks("Archivo Personal X.xls").Sheets("Estadísticas").Cells(i1, j1).Value + Workbooks("Libro Común X").Sheets("Estadísticas").Cells(i1, j1).Value
Next j1
Next i1
'Restituyes los valores de la tabla en la hoja3
With Workbooks("Libro Común X.xls").Sheets("Estadísticas")
.Range("C2:DO1465") = Tabla1
End With
Workbooks("Archivo Personal X.xls").Sheets("Estadísticas").Range("C2:DO1465").ClearContents
Configuración: Windows XP / Internet Explorer 6.0
6 réponses
Hola,
Solo una opinión, el desbordamiento de capacidad se produce en el Tableau quizás porque está en "entero", es decir, limitado a 32767. Basta con que una de las sumas dé más para recibir este mensaje.
Quizás sea suficiente declarar como doble o largo:
Dim Tableau1() As Double
o
Dim Tableau1() As Long
¿no?
Saludos,
Atentamente,
Solo una opinión, el desbordamiento de capacidad se produce en el Tableau quizás porque está en "entero", es decir, limitado a 32767. Basta con que una de las sumas dé más para recibir este mensaje.
Quizás sea suficiente declarar como doble o largo:
Dim Tableau1() As Double
o
Dim Tableau1() As Long
¿no?
Saludos,
Atentamente,
Juan Pedro
¡Funciona! ¡Bravo Pilas! ¡Muchas gracias!
Kunzi
Hola. Funciona. Bravo Pilas. Me quita una espina del pie.