Excel 用于选择包含特定文本的行的宏
我有一个从数据库中导出的大型电子表格,其中包含了我想要排序和报告的感兴趣的单词和短语。我想做的是使用宏扫描整个工作表中的句子,然后只选择包含关键字的行 在()附近搜索,我找到了这个示例代码,但它在Excel 2007中给了我错误:Excel 用于选择包含特定文本的行的宏,excel,vba,Excel,Vba,我有一个从数据库中导出的大型电子表格,其中包含了我想要排序和报告的感兴趣的单词和短语。我想做的是使用宏扫描整个工作表中的句子,然后只选择包含关键字的行 在()附近搜索,我找到了这个示例代码,但它在Excel 2007中给了我错误: Sub SelectManyRows() Dim CatchPhrase As String Dim WholeRange As String Dim AnyCell As Object Dim RowsToSelect As String CatchPhrase
Sub SelectManyRows()
Dim CatchPhrase As String
Dim WholeRange As String
Dim AnyCell As Object
Dim RowsToSelect As String
CatchPhrase = “future”
'first undo any current highlighting
Selection.SpecialCells(xlCellTypeLastCell).Select
WholeRange = "A1:" & ActiveCell.Address
Range(WholeRange).Select
On Error Resume Next 'ignore errors
For Each AnyCell In Selection
If InStr(UCase$(AnyCell.Text), UCase$(CatchPhrase)) Then
If RowsToSelect <> “” Then
RowsToSelect = RowsToSelect & "," 'add group separator
End If
RowsToSelect = RowsToSelect & Trim$(Str$(AnyCell.Row)) & ":" & Trim$(Str$(AnyCell.Row))
End If
Next
On Error GoTo 0 'clear error ‘trap’
Range(RowsToSelect).Select
End Sub
子选择manyrows()
模糊的流行语如弦
像细绳一样的模糊的杂音
将任意单元格设置为对象
Dim Row可选择为字符串
流行语=“未来”
'首先撤消任何当前高亮显示
Selection.SpecialCells(xlCellTypeLastCell)。选择
WholeRange=“A1:”&ActiveCell.Address
范围(WholeRange)。选择
错误时继续下一步“忽略错误”
对于选择中的每个AnyCell
如果InStr(UCase$(AnyCell.Text)、UCase$(流行语))那么
如果选择“”则
RowsToSelect=RowsToSelect&“,”添加组分隔符
如果结束
RowsToSelect=RowsToSelect&Trim$(Str$(AnyCell.Row))&“&Trim$(Str$(AnyCell.Row))
如果结束
下一个
错误转到0“清除错误”陷阱
范围(行选择)。选择
端接头
我得到的错误是对象“\u Global”的运行时“1004”方法“Range”失败。。。有人能帮我一下吗?该错误可能是由以下行生成的:
Range(WholeRange).Select
及
因为“范围”对象并不是一个独立存在的对象。。。它属于“工作表”对象,因此假设所有这些都发生在活动工作表上(而不是背景中的其他工作表),然后尝试将这些行修改为:
ActiveSheet.Range(WholeRange).Select
及
这应该会清除您看到的错误,只要我没有错过任何其他实例查看该代码。在抛出错误时点击“debug”是值得的,这样您就可以看到是哪一行导致了错误。。。在进行这些更改之前和之后,请尝试这样做,以检查错误是否至少移动了
提供了有关使用范围的完整文档
HTHThx@PUROTIX(新手)
ActiveSheet.Range(WholeRange).Select
ActiveSheet.Range(RowsToSelect).Select