VBA实现科目余额表筛选与数据填充:含多逻辑优化要点
```vba Sub UpdateSubjectBalanceSheet() Dim wb As Workbook Dim newWb As Workbook Dim wsSource As Worksheet Dim wsTarget As Worksheet Dim lastRow As Long Dim i As Long Dim filterValue As String ' 设置源工作簿和目标工作簿 Set wb = ThisWorkbook Set wsSource = wb.Sheets("科目余额表科目编码与底稿对应关系") Set newWb = Workbooks.Add Set wsTarget = newWb.Sheets(1) wsTarget.Name = "本年科目余额表" ' 获取源工作表的最后一行 lastRow = wsSource.Cells(wsSource.Rows.Count, "B").End(xlUp).Row ' 在目标工作表的第六行开始筛选数据 For i = 2 To lastRow filterValue = wsSource.Cells(i, 2).Value ' 筛选A列数据 With wsTarget.Range("A:A") .AutoFilter Field:=1, Criteria1:=filterValue ' 获取筛选后的最后一行 Dim lastFilteredRow As Long lastFilteredRow = wsTarget.Cells(wsTarget.Rows.Count, "A").End(xlUp).Row ' 填充I列 If lastFilteredRow > 6 Then wsTarget.Range("I7:I" & lastFilteredRow).Value = "是" End If End With ' 清除筛选 wsTarget.AutoFilterMode = False Next i ' 提示完成 MsgBox "更新完成", vbInformation End Sub ``` 额外需要注意的逻辑点: 1. 确保工作表名称正确:代码中假设源工作表名为“科目余额表科目编码与底稿对应关系”,目标工作表名为“本年科目余额表”。如果实际名称不同,请修改代码中的工作表名称。 2. 处理空值:如果源工作表中的某些单元格为空,可能会导致筛选失败。可以在循环中添加检查,跳过空值。 3. 性能优化:如果数据量较大,多次筛选和填充操作可能会影响性能。可以考虑在循环外部关闭屏幕更新和自动计算,以提高效率。 ######[AI写代码神器 | 490点数解答 | 2024-12-19 15:02:26]
- Java实现银行与账户类:含存、取、查交易记录功能的业务系统( | 363点数解答 | 2024-04-05 11:49:01)368
- Java实现含多操作的银行账户管理系统,功能演示清晰呈现!( | 363点数解答 | 2024-04-05 11:43:57)395
- Java代码实现从JSON数据中提取ID,涉及“数据”与“项目 - 知识库”结构(字节豆包 | 603点数解答 | 2025-04-15 22:48:51)255
- C++ 实现:计算一排鹅与最高、最矮鹅的身高差及代码详解(字节豆包 | 549点数解答 | 2025-11-16 20:19:06)105
- 编程揭秘:计算 𝑛! 在 𝑃 进制下末尾零个数的方法与代码实现(DeepSeek | 549点数解答 | 2026-01-11 17:49:54)63
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)378
- C++实现九九乘法表输出及代码详细解释(字节豆包 | 412点数解答 | 2026-02-06 22:10:32)84
- 工程师必知:软件系统用户文档编写九大要点揭秘(百度文心 | 350点数解答 | 2023-11-09 18:23:53)215
- Python 实战:统计学生成绩与大学类型数量,附代码及注意点(字节豆包 | 388点数解答 | 2025-05-09 10:52:51)269
- Python:用字典统计学生科目成绩,算出总成绩与平均成绩及避坑指南 (字节豆包 | 276点数解答 | 2025-05-09 11:01:52)178
- Python爬虫:多页图片爬取与本地保存全流程揭秘(字节豆包 | 119点数解答 | 2025-01-05 12:49:42)274
- Python 网页图片爬取代码分析与优化建议:异常处理、路径优化及爬取规则遵守(字节豆包 | 172点数解答 | 2025-01-05 12:50:16)241