excel - 使用嵌套的 for 循环读取两列
问题描述
我需要读取两列,这就像一个 excel 对账,我需要捕获 B 列和 W 列,然后 B 列检查 1 条记录并匹配 W 列中的这条记录,如果 B 列记录和 W 列记录匹配,那么它需要移动新的工作表。任何人都可以检查或建议我如何执行此嵌套 for 循环。以及如何为嵌套的 For 循环捕获 B & W 列。
For i = 2 To 20
Rows.Cells(i, 2).Select
Rows.Cells(i, 2).Select
Rows.Cells(j, 31).Select
Next j
Next i
解决方案
试试下面的代码。它将比较列 B 和 W。如果它们相同,则将整行复制到第二个工作表。 ThisWorkbook
指的是包含代码的书。
Public Sub Test()
Dim SheetToCheck As Worksheet, SheetToPasteTo As Worksheet
Dim lRow As Long
Dim NextEmptyRow As Long
Set SheetToCheck = ThisWorkbook.Worksheets("Sheet1")
Set SheetToPasteTo = ThisWorkbook.Worksheets("Sheet2")
For lRow = 2 To 20
If SheetToCheck.Cells(lRow, 2) = SheetToCheck.Cells(lRow, 23) Then 'Compare Col B to Col W.
NextEmptyRow = SheetToPasteTo.Cells(Rows.Count, 2).End(xlUp).Row + 1
SheetToCheck.Rows(lRow).Copy Destination:=SheetToPasteTo.Rows(NextEmptyRow)
End If
Next lRow
End Sub
推荐阅读
- python - 动画 QLabel
- sql - 以每分钟约 200 万个条目提高谷歌云上 postgresql 服务器上 SQL 插入的速度
- android - RemoteServiceException:Context.startForegroundService() 没有调用 Service.startForeground()
- autohotkey - 如何将热键绑定放在自动执行脚本的开头/顶部而不是结尾?
- r - 由于 pandoc 和 HOME env 变量,Rscript 不会在 EC2、bash 脚本中运行
- random - 如何使用 O(log n) 相互独立的随机位生成 n 成对独立的随机位
- java - 在 Java 中使用递归查找最大 Int
- javascript - 如何访问在子地图(嵌套地图)中映射的父元素
- go - 选择频道时遇到死锁
- javascript - 如何使用路由器从一个组件访问传递的数据到另一个 ReactJS