excel - 双循环,在工作簿中找到范围的底部和顶部,然后在工作簿中找到满足条件的下一部分的范围
问题描述
Dim top As Integer
Dim bot As Integer
Dim n As Integer
Dim Copyrange As String
For i = 2 To LastRow
If wbkCurBook.Sheets("August FMR").Cells(i, "B").Value = "CASE TOTAL" Then
wbkCurBook.Sheets("August FMR").Cells(i + 1, "F").Value = "OPEN LINE ITEMS"
wbkCurBook.Sheets("August FMR").Cells(i + 1, "G").Select
For t = 1 To i
If wbkCurBook.Sheets("August FMR").Cells(t, "B").Value = "CSE" And IsEmpty(wbkCurBook.Sheets("August FMR").Cells(i + 1, "G").Value) Then
top = t + 1
bot = i - 1
Let Copyrange = "J" & top & ":" & "K" & bot
n = Application.WorksheetFunction.CountIf(wbkCurBook.Sheets("August FMR").Range(Copyrange), ">" & 0)
wbkCurBook.Sheets("August FMR").Cells(i + 1, "G").Value = n
End If
Next t
End If
Next i
这段代码在一张有 4000 行的表格中循环,中间有一些空白标记不同的部分。我想要代码做的是遍历每个不同的部分,并通过查找每个部分的顶行和底行来找到每个部分的非零单元格。目前代码没有中断,但它没有输出正确数量的非零单元格。由于某种原因,变量 top 保持在“2”,这会输出错误的数字。我需要 top 来找到范围的顶部,但它目前只找到第一部分并保存该范围。
解决方案
推荐阅读
- css - 对话框、快餐栏、...entryComponents 上的 Angular Material 自定义主题
- r - 在 R 中生成特殊矩阵的更有效函数
- sql - SQL罗斯文数据库查询重复行
- google-apps-script - 如何创建一个接受多个输入的谷歌脚本提示
- r - R 包在 Windows 上构建,但无法运行示例 - 使 R 会话崩溃
- regex - 获取一些字符串正则表达式
- c# - C# 当前时钟速度显示
- apache-kafka - 为什么Kafka消费者更新到1.1后输出INVALID_FETCH_SESSION_EPOCH?
- python-3.x - 张量流概率中非负参数的负值
- python - 查找匹配字符串的最pythonic方法