|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 天地一相 于 2024-5-23 10:16 编辑
感谢帮助。我有一段对显示单元格写序号的代码,单独使用正常。若在循环中直接调用该代码的宏名,结果也正常。但我若把代码直接放进循环里,做相应调整改动,序号数量就不对了。百思不得其解,特此求助。
问题我解决了:我发现写序号时N并不等于C2单元格的值时就提前退出了。我新设置了中间变量M,让M=RANGE("C2").VALUE.然后后面修改为N=M时结束序号写入。结果就正确了。虽然是对了,但我还是不知道为什么会这样。知道的给解惑下呗。
- 新写循环部分
- For i = 3 To 7
- With ThisWorkbook.Worksheets(i)
-
- end with
- next i
- 序号代码:
- ActiveSheet.Range("A4:W" & r).AutoFilter Field:=21, Criteria1:=RGB(0, 176, 240), Operator:=xlFilterFontColor
- ActiveSheet.Range("A4:W" & r).AutoFilter Field:=15, Criteria1:=">=" & y, Operator:=xlAnd
- Range("C2").Value = Application.WorksheetFunction.CountA(ActiveSheet.Range("O5:O" & r).SpecialCells(xlCellTypeVisible))
- If Range("C2").Value = 0 Then Exit Sub
-
- With ActiveSheet
-
- If .FilterMode = False Then Exit Sub
-
- With Range("D5:D" & r)
- For Each a In .SpecialCells(xlCellTypeVisible)
- n = n + 1
- a = n
- If n = Range("C2").Value Then
- Exit For
- End If
- Next
- End With
- End With
复制代码
|
|