''Sub UpdateSubTables() Debug.Print "Start of code" Dim mainSheet As Worksheet Set mainSheet = ThisWorkbook.Sheets("健康证汇总表") Dim categoryList As Range Set categoryList = mainSheet.Range("A2:X500") Dim categoryName As String Dim categoryCell As Range For Each categoryCell In categoryList categoryName = categoryCell.Value Debug.Print "categoryList: " & categoryList.Address Debug.Print "categoryName: " & categoryName If SheetExists(categoryName) Then Dim subSheet As Worksheet Set subSheet = ThisWorkbook.Sheets(categoryName) Debug.Print "subSheet: " & subSheet.Name Dim categoryData As Range Set categoryData = mainSheet.Range("A2:C100").AutoFilter(1, categoryName).SpecialCells(xlCellTypeVisible) Debug.Print "categoryData: " & categoryData.Address If Not subSheet Is Nothing Then subSheet.Cells.ClearContents categoryData.Copy subSheet.Range("A1") End If End If Next categoryCell End Sub Function SheetExists(ByVal sheetName As String, Optional ByVal wb As Workbook) As Boolean Dim s As Worksheet If wb Is Nothing Then Set wb = ThisWorkbook On Error Resume Next Set s = wb.Sheets(sheetName) On Error GoTo 0 SheetExists = Not s Is Nothing End Function''VBA代码中''Sub UpdateSubTables()''运行不了怎么修改?
时间: 2023-06-18 16:03:43 浏览: 196
003提取工作表名字共1页.pdf.zip
首先,您需要检查代码中是否有任何语法错误或拼写错误。如果没有语法错误,则可能是由于以下原因导致代码无法运行:
1. 您的工作簿中不存在名为“健康证汇总表”的工作表。
2. 您的工作簿中不存在名为“categoryName”的工作表。
3. 您的工作簿中的工作表名称与代码中的工作表名称不匹配。
4. 您的工作簿中的工作表具有受保护的单元格,因此无法清除其内容。
5. 您的代码中存在其他错误或问题。
您可以逐步调试代码,一步一步地检查代码中的每个部分,并在运行时查看调试窗口中的输出,以找出代码中的问题。另外,您还可以使用错误处理程序来捕获和处理代码中的错误。
阅读全文