VBA使用For Each Cell遍历列范围如何实现从底部行向上倒序遍历
VBA 列范围从底部到顶部倒序遍历实现方案
VBA 中For Each遍历单元格范围时默认按照从上到下、从左到右的固定顺序执行,无法直接调整遍历方向,要实现倒序遍历可通过行号倒序循环的方式实现,具体修改如下:
适配你原需求的固定范围(B1:B1000)代码
Dim i As Long Dim c As Range Dim ws As Worksheet Set ws = Workbooks("NX01").Worksheets(homeleague) ' 从B1000开始倒序遍历到B1,Step -1 代表每次循环行号减1 For i = 1000 To 1 Step -1 Set c = ws.Range("B" & i) If c.Value <> "" And c.Value = hometeam Then ' 此处粘贴你原本要执行的操作代码 End If Next i
可选优化:适配动态范围(不用写死1000行)
如果B列的有效数据行数不固定,可以先自动获取最后一行有数据的行号再遍历,避免遍历无效空行:
Dim i As Long Dim lastRow As Long Dim c As Range Dim ws As Worksheet Set ws = Workbooks("NX01").Worksheets(homeleague) ' 自动获取B列最后一个有内容的行号 lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row ' 从最后一行倒序遍历到第1行 For i = lastRow To 1 Step -1 Set c = ws.Range("B" & i) If c.Value <> "" And c.Value = hometeam Then ' 此处粘贴你原本要执行的操作代码 End If Next i
内容的提问来源于stack exchange,提问作者Cincinnati Kid
相关产品推荐
相关产品推荐

