【问题标题】:Searching and matching characters between 2 columns on 2 worksheets在 2 个工作表上的 2 列之间搜索和匹配字符
【发布时间】:2015-06-03 21:06:08
【问题描述】:

我有 2 个工作表(工作表 1 和工作表 2)。我正在尝试搜索工作表 1 的 A 列中的字符,并查看这些字符是否存在于工作表 2 的 A 列中。请注意,这些字符不是固定的,因此可能会添加、删除或更改字符。如果它们存在于工作表 2 中,那么我会将工作表 1 中的字符加粗到相应的单元格中。

工作表 1

A 栏

Jack
James
Peter
Angel

工作表 2

A 栏

Jack ate an apple.
Peter flies a kite.
Henry wakes up for work.
James went to school.

到目前为止,我的方法是使用 For 循环和 if-else 语句。我正在考虑使用 InStr 在 Worksheet 2 中的这些句子中查找字符。

Dim StartNum As Integer
Dim EndNum As Integer
Dim rng1 As Range
Dim rng2 As Range

EndNum =

For StartNum = 1 To EndNum
    If rng1.Value = InStr(rng2.Value) Then _
        rng1.font.Bold = True
End If

【问题讨论】:

  • 您可以发布您已经尝试过的代码吗?这将帮助社区为您提供所需的确切信息。
  • 我不清楚你所说的将工作表 1 中的字符加粗到相应的单元格是什么意思。如果你提供了一些代码(工作或不工作),你的意图会更容易掌握。
  • 感谢您告诉我@daytonrazorback 我刚刚发布了我已经开始的代码。
  • 例如,由于 Jack 是在工作表 2 中的句子“Jack ate an apple”中成立的。工作表 1 中的 Jack 将加粗。希望这是有道理的@Jeeped

标签: vba excel search


【解决方案1】:

选择工作表 1 上的所有 A 列,其中 A1 作为活动单元格。选择 Home ► Conditional Formatting ► New Rule*,当出现 **New Formatting Rule* 对话框时,选择 使用公式确定要格式化的单元格 然后在 Format values where此公式为真: 文本框。

 =isnumber(match("*"&A1&"*", 'Worksheet 2'!A:A, 0))

单击Format 并从Font 选项卡中选择Bold。单击一次OK 接受格式设置,然后再次单击OK 创建新规则。

我在 Worksheet 1 中添加了一些不匹配的名称,并为这些结果添加了粗体蓝色字体的格式更改。

        

【讨论】:

    【解决方案2】:

    一个简单的宏就可以为您完成这项工作。假设您有一张带姓名的工作表和另一个带句子的工作表。所以这里是一个小代码:

    Sub HighlightFound()
    Dim searchRange As Range
    Set searchRange = ActiveWorkbook.Sheets("Sentences").Range("A:A")
    
    ActiveWorkbook.Sheets("Names").Activate
    Range("A1").Select
    
    Do While Not IsEmpty(ActiveCell)
        If Not searchRange.Find(ActiveCell.FormulaR1C1, LookIn:=xlValues) Is Nothing Then
            ActiveCell.Font.Bold = True
        End If
        ActiveCell.Offset(RowOffset:=1).Select
    Loop
    

    结束子

    VBA 编程愉快!!!

    【讨论】:

    • 代码 sn-p 已经过测试,因此请继续在您的工作簿中进行测试。 :)
    • 太棒了,这正是我要找的!谢谢@Akif Patel
    • 如果它达到了您的目的,只需投票给答案,以便其他有相同需求的人可以使用我的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2013-12-28
    • 2021-12-02
    • 2021-08-19
    • 1970-01-01
    • 2019-08-23
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多