在Excel中有一些VBA代碼時,向空listobject添加一行時出現了一個奇怪的問題。有誰知道發生了什麼或如何解決?這裏的問題是:將listrow添加到空listobject
首先,我刪除的ListObject(表)的內容,使用:
AListObject.DataBodyRange.Delete
然後,我有一個循環,反覆添加一行並用數據填充它。我添加該行使用:
AListObject.ListRows.Add
這是奇怪的行爲。首先,代碼刪除的ListObject的數據:
AListObject.DataBodyRange.Delete
即時窗口顯示AListObject.ListRows.Count
等於0
,使所有的行都被刪除。然後,我添加一行:
AListObject.ListRows.Add (first iteration)
立即窗口顯示AListObject.ListRows.Count
等於2
,所以Add方法創建了兩行,而不是一個。此外,寫入第1行的數據將丟失。 listobject(table)的第1行顯示空單元格。
對於循環的剩餘迭代(2到n),ListRows.Add方法工作正常,僅創建一行。將數據寫入這些行(2到n)也很好。
爲什麼在listobject爲空時調用的第一個Add方法創建兩行,爲什麼我不能寫入第1行?此代碼以前工作正常,並且它在我的工作簿的舊備份版本中正常工作。有誰知道爲什麼這是奇怪的行爲發生?
謝謝。
請改爲顯示完整的代碼。 – findwindow