2016-04-28 13 views
0

Ich habe ein Programm, um Verpackungsprobleme 3D zu lösen. Wenn ich das Programm mit nur 100 Datenzeilen mein Code funktioniert laufen, aber wenn ich meine Daten verwenden alle habe ich einen Fehler:Excel VBA Fehlerüberlauf

Run-time error '6':

Overflow

Image version

Hier ist mein Code:

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 

ich habe 49.606 Datenzeilen:

Wie c Und ich vermeide es, diesen Fehler zu bekommen?

+1

könnten Sie auf „Debug“, wenn der Fehler angezeigt wird, und dann den Wert von xrow überprüfen, indem Sie in der „xrow?“ Direktes Fenster (Strg + G) – NiH

Antwort

0

Haben Sie Ihre Variablen deklariert? Soudns mögen einen ganzzahligen Überlauf mit xrow.

Fügen Sie einfach

Dim xrow as long 

zu Beginn der Prozedur.

0

Aus dem Fehler gehe ich davon aus, dass das Problem im Worksheets(6) Teil liegt.

Haben Sie 7 Arbeitsblätter? Denken Sie daran: Das Zählen beginnt bei 0! Nicht bei 1!

Wenn dies der Fall ist, ändern Sie den Index bis 7 statt 6:

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