我有一個工作簿,其上有幾張工作表。我想將表中的所有行聚合到第一個主表中。我希望它是動態的,這樣當我向其他表中的一行添加行時,它會將行添加到主表中。這裏是我的子代碼:VBA:在Excel中創建宏 - 編譯錯誤 - '子或功能未定義'
Public Sub AggregateIssues()
For pgNum = 1 To ActiveWorkbook.Sheets.Count
If ActiveWorkbook.Sheets(pgNum).Name = "Main" Then
currSheet = ActiveWorkbook.Sheets(pgNum) 'Get Sheet
flag = True
RowIndex = 0
While currSheet.Tables(0).Rows(RowIndex).Cells(0).Text = Null Or currSheet.Tables(0).Rows(RowIndex).Cells(0).Text = ""
Row = currSheet.Tables(0).Rows(RowIndex)
ActiveWorkbook.Sheets("Main").Tables("MainTbl").Append (Row)
RowIndex = RowIndex + 1
Next
End If
Next pgNum
End Sub
目前,我得到一個編譯錯誤:Sub or function is not defined
。錯誤發生在sub的名字上。這是定義。當然它還沒有定義。任何想法爲什麼發生這種情況?
注意:我相信這個錯誤實際上是由continue
關鍵字引起的。 VBA中是否有continue
關鍵字?
'繼續'是不是在VBA中使用 - 這將不會編譯:既不會'break' – 2012-08-07 20:16:44
是否有可比較的關鍵字? – ExceptionLimeCat 2012-08-07 20:17:18
只需在循環中的代碼的其餘部分(change = to <>)中包裝'if'即可。而不是打破你想'退出'http://msdn.microsoft.com/en-us/library/t2at9t47(v=vs.80).aspx – 2012-08-07 20:20:24