excel - 我想搜索每个工作表中的每一行以查找文本,然后返回整行数据
问题描述
我有一个包含大约 100 个工作表的工作簿,其中包含 3 个字母代码作为标题。我想遍历每个工作表,并在每个工作表中,遍历第 2 列(“b”),看看任何给定行中的单元格是否包含单词“Total”,如果有,则跳到下一行,如果有在第 11 列之前不要复制该行并将其粘贴到指定的工作表上。这似乎没有输出任何东西,我想知道我哪里出错了?下面的编辑代码,没有更多的错误消息。
Sub Charges()
Dim ws As Worksheet, r As Range, rw As Long
Set wb = ThisWorkbook.Sheets
Set a = ThisWorkbook.ActiveSheet
Set b = wb("Output")
For Each ws In wb
rw = 2
If Len(ws.Name) = 3 Then
For Each r In a.Range("B3").CurrentRegion.Columns(1).Cells
If InStr(1, r.Value, "Total") < 0 Then
r = r + 1
With a
.Range(Cells(r, 2), Cells(r, 11)).Copy b.Cells(r, 2)
End With
End If
Next r
End If
Next ws
End Sub
有人可以帮忙吗?Lmk 如果您需要澄清。
解决方案
我认为您引用了不是您想要的工作表。
Sub Charges()
Dim wb As Workbook
Set wb = ThisWorkbook
Dim b As Worksheet
Set b = wb.worksheets("Output")
Dim rw As Long
rw = 2
Dim ws As Worksheet
For Each ws In wb.Sheets
If Len(ws.Name) = 3 Then
Dim r As Range
For Each r In ws.Range(ws.Cells(3, 2), ws.Cells(ws.Rows.Count, 2).End(xlUp)).Cells
If InStr(1, r.Value, "Total") < 1 Then
With ws
.Range(.Cells(r.Row, 2), .Cells(r.Row, 11)).Copy b.Cells(rw, 2)
rw = rw + 1
End With
End If
Next r
End If
Next ws
End Sub
推荐阅读
- sql - 在 SQL 中显示以“Jan/10/2015”格式存储的日期的字符串表示形式的完整月份名称
- python - 如何删除电报聊天中的所有消息?(蟒蛇,电报.ext)
- sails.js - 在开发模式下连接 Sails 应用程序中的 postgres 时出现超时错误?
- java - Java Collection 框架,Arraylist 处理对象
- python - 如何在python中使用具有相同ID的新记录更新csv
- python-3.x - “未定义”类型的对象不是 Airflow 的 JSON 可序列化错误
- python - 从 PPTx 文件中提取演讲者笔记 (powerpoint)
- spring - 无法在 thymeleaf 页面中打印与用户关联的角色
- r - 在现有 df 中连续完成列表
- c# - 检测物体方向