excel - 如何使函数递归
问题描述
我有大量数据(几乎 12k 行)。我想在 A 列搜索关键字(例如:名称“),然后将其相应的值从 B 列移动到新工作表。我有这个工作但不知道如何使其递归,所以它看起来全部 12k A列中的条目。请帮助。
请参阅下面的脚本,该脚本有效,但需要递归
Sub Test()
With Sheets("original")
If .Range("A24").Value = "Name " Then
Sheets("new").Range("A1").Value = .Range("B24").Value
End If
End With
End Sub
解决方案
您可以遍历单元格范围并使用偏移量来获取 B 列中的值以放置在新工作表中。它不需要递归
Sub Test()
Dim c As Range
Dim iRow As Long
iRow = 1
For Each c In Sheets("original").Range("A:A")
If c.Value = "Name " Then
Sheets("new").Cells(iRow, 1).Value = c.Offset(0, 1).Value
'move to the next row
iRow = iRow + 1
End If
Next c
End Sub
推荐阅读
- c# - 导出到 excel 返回空白表
- javascript - 解析 JSON 时出错 - 位置 450 处 JSON 中的意外标记}
- google-cloud-platform - 无法从谷歌云实例中检索文件
- android - Webview没有在android中以正确的格式显示文本
- javascript - 在 ES6 类中声明一个变量。
- c# - 删除图像的圆形透明部分 c#
- postgresql - POSTGRES:pg_cancel_backend 并不总是有效(背后的原因)
- javascript - “错误”消息:“索引”已定义但从未使用过。(没有未使用的变量)
- javascript - Gatsby 和内容丰富的网站在公共构建中的文件路径不正确
- node.js - 使用 node.js(typescript) 续集