0
我有一些代碼檢查用戶窗體中的數據在組合框中。然後如果找到的話在表格中添加一行。不幸的是,我發現有些時候它不會添加行,只是覆蓋行。關於我做錯了什麼的想法會有所幫助。以下是部分創建新行的代碼:Excel-VBA Listrow.add沒有插入行
If Not vbNullString = Me.CrimeSN2.Value Then
If Not vbNullString = Me.RowNumber.Value Then
rownumval = Me.RowNumber.Value
Worksheets("Offense").ListObjects("OffenseTable").ListRows.Add (rownumval)
rownumval = rownumval + 1
Else
rownumval = LastRow + 1
Worksheets("Offense").ListObjects("OffenseTable").ListRows.Add (rownumval)
rownumval = rownumval + 1
end if
提供進一步的保護,防止具有非數字是否只是簡單地覆蓋你的表的最後一行?它是在你的代碼的'If'還是'Else'部分,或者兩者都發生?當您使用F8瀏覽代碼時,LastRow是否正確? –
您檢查單元格值('Me.RowNumber.Value')是否爲空,但它可能不是數字。如果它不是數字,.Add將會失敗。 – OldUgly
感謝Doug和OldUgly的迴應,回覆您的詢問。它覆蓋在rownumval + 1的位置。我遍歷了代碼,它只覆蓋了「If」部分。和LastRow是正確的。我已經穿過它,它讀取rownumval作爲一個長期和有價值。它似乎不適用於'.ListRows.Add(rownumval)'。對於醜陋的'Me.RowNumber.Value'來說,它的閱讀時間長且有價值。我確實嘗試了您提供的代碼,但仍然繼續出現錯誤。 – fatboyzfishing