簡體   English   中英

Excel VBA錯誤溢出

[英]Excel VBA error overflow

我有一個程序可以解決3D包裝問題。 當我只用100行數據運行該程序時,我的代碼可以工作,但是當我使用所有數據時,出現錯誤:

運行時錯誤“ 6”:

溢出

圖片版本

這是我的代碼:

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

我有49606行數據:

如何避免出現此錯誤?

您是否聲明了變量? Soudns就像xrow的整數溢出一樣。

只需添加

Dim xrow as long

在您的程序開始時。

從錯誤中,我認為問題出在Worksheets(6)部分中。

您有7個工作表嗎? 請記住:從0開始計數! 不等於1!

在這種情況下,請將索引更改為7而不是6:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM