2016-04-28 2 views
0

У меня есть программа для решения проблемы упаковки 3D. Когда я запускаю программу только 100 строк данных мой код работает, но когда я использую все мои данные у меня есть сообщение об ошибке:Ошибка Excel VBA overflow

Run-time error '6':

Overflow

Image version

Вот мой код:

If rotationtype = 2 Then 
    Do While Worksheets(6).Cells(xrow, xcolumn).Value <> "" 
     ' 0,1 > inputan 
     If Worksheets(6).Cells(xrow, xcolumn).Offset(0, 1).Value > Worksheets(6).Cells(xrow, xcolumn).Value Then 
      Worksheets(6).Cells(xrow, xcolumn).Offset(0, 3).Value = Worksheets(6).Cells(xrow, xcolumn).Offset(0, 1).Value 
      Worksheets(6).Cells(xrow, xcolumn).Offset(0, 4).Value = Worksheets(6).Cells(xrow, xcolumn).Value 
      Worksheets(6).Cells(xrow, xcolumn).Offset(0, 5).Value = Worksheets(6).Cells(xrow, xcolumn).Offset(0, 2).Value 
     Else ' 0,1 < inputan 
      Worksheets(6).Cells(xrow, xcolumn).Offset(0, 3).Value = Worksheets(6).Cells(xrow, xcolumn).Value 
      Worksheets(6).Cells(xrow, xcolumn).Offset(0, 4).Value = Worksheets(6).Cells(xrow, xcolumn).Offset(0, 1).Value 
      Worksheets(6).Cells(xrow, xcolumn).Offset(0, 5).Value = Worksheets(6).Cells(xrow, xcolumn).Offset(0, 2).Value 
     End If 
     xrow = xrow + 1 
    Loop 
    Toplamkutusayisi = xrow - 2 
    xrow = 2 
Else 

у меня есть 49,606 строк данных:

How с я избегаю получения этой ошибки?

+1

вы можете нажать «Debug», когда появляется ошибка, а затем проверить значение xrow, введя в «xrow?» Немедленное окно (Ctrl + G) – NiH

ответ

0

Вы объявили свои переменные? Soudns как целое переполнение с помощью xrow.

Просто добавьте

Dim xrow as long 

в начале вашей процедуры.

0

Из-за ошибки, я предполагаю, что проблема в части Worksheets(6).

У вас есть 7 рабочих листов? Помните: подсчет начинается с 0! Не в 1!

Если это так, измените индекс на 7 вместо 6:

Worksheets(7).Cells(xrow, xcolumn).Value