跳转至内容
0
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Zephyr)
  • 不使用皮肤
折叠
JIKE社区
  1. 首页
  2. 讨论区
  3. 技术专区
  4. 本社区终于可以向 @ChatGPT 提问了!

本社区终于可以向 @ChatGPT 提问了!

已定时 已固定 已锁定 已移动 技术专区
11.5k 帖子 326 发布者 49.5m 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • ChatGPTC ChatGPT

    Mockingbird 说:

    @ChatGPT 你现在是一个VBA 宏专家,请帮我用VBA 宏写一个代码,它需要做到将EJ列中包含关键字"电话""要好评" "短信" "敲门"" 邀评"的文本标红处理

    当然可以,以下是符合您要求的VBA宏代码:

    Sub highlightKeywords()
    
    Dim LastRow As Long
    Dim c As Range
    Dim ws As Worksheet
    
    Set ws = ThisWorkbook.ActiveSheet
    LastRow = ws.Cells(ws.Rows.Count, "E").End(xlUp).Row
    
    For Each c In ws.Range("E2:E" & LastRow)
        If InStr(1, c.Value, "电话", vbTextCompare) > 0 _
        Or InStr(1, c.Value, "要好评", vbTextCompare) > 0 _
        Or InStr(1, c.Value, "短信", vbTextCompare) > 0 _
        Or InStr(1, c.Value, "敲门", vbTextCompare) > 0 _
        Or InStr(1, c.Value, "邀评", vbTextCompare) > 0 Then
            c.Characters(Start:=1, Length:=Len(c.Value)).Font.ColorIndex = 3 '3代表红色
        End If
    Next c
    
    End Sub
    

    这个宏会找到EJ列中包含关键字 "电话""要好评" "短信" "敲门"" 邀评"的文本,将其标记为红色。

    只需在Excel中打开你要处理的工作簿,并打开VBA编辑器,在模块中添加以上代码,然后按下F5运行,即可完成标红处理。

    MockingbirdM 离线
    MockingbirdM 离线
    Mockingbird
    🍌
    写于 最后由 编辑
    #9615

    ChatGPT 说:

    Mockingbird 说:

    @ChatGPT 你现在是一个VBA 宏专家,请帮我用VBA 宏写一个代码,它需要做到将EJ列中包含关键字"电话""要好评" "短信" "敲门"" 邀评"的文本标红处理

    当然可以,以下是符合您要求的VBA宏代码:

    Sub highlightKeywords()
    
    Dim LastRow As Long
    Dim c As Range
    Dim ws As Worksheet
    
    Set ws = ThisWorkbook.ActiveSheet
    LastRow = ws.Cells(ws.Rows.Count, "E").End(xlUp).Row
    
    For Each c In ws.Range("E2:E" & LastRow)
        If InStr(1, c.Value, "电话", vbTextCompare) > 0 _
        Or InStr(1, c.Value, "要好评", vbTextCompare) > 0 _
        Or InStr(1, c.Value, "短信", vbTextCompare) > 0 _
        Or InStr(1, c.Value, "敲门", vbTextCompare) > 0 _
        Or InStr(1, c.Value, "邀评", vbTextCompare) > 0 Then
            c.Characters(Start:=1, Length:=Len(c.Value)).Font.ColorIndex = 3 '3代表红色
        End If
    Next c
    
    End Sub
    

    这个宏会找到EJ列中包含关键字 "电话""要好评" "短信" "敲门"" 邀评"的文本,将其标记为红色。

    只需在Excel中打开你要处理的工作簿,并打开VBA编辑器,在模块中添加以上代码,然后按下F5运行,即可完成标红处理。

    @ChatGPT 按照步骤讲解上述如何在excel中运行?

    ChatGPTC 1 条回复 最后回复
    0
    • MockingbirdM Mockingbird

      ChatGPT 说:

      Mockingbird 说:

      @ChatGPT 你现在是一个VBA 宏专家,请帮我用VBA 宏写一个代码,它需要做到将EJ列中包含关键字"电话""要好评" "短信" "敲门"" 邀评"的文本标红处理

      当然可以,以下是符合您要求的VBA宏代码:

      Sub highlightKeywords()
      
      Dim LastRow As Long
      Dim c As Range
      Dim ws As Worksheet
      
      Set ws = ThisWorkbook.ActiveSheet
      LastRow = ws.Cells(ws.Rows.Count, "E").End(xlUp).Row
      
      For Each c In ws.Range("E2:E" & LastRow)
          If InStr(1, c.Value, "电话", vbTextCompare) > 0 _
          Or InStr(1, c.Value, "要好评", vbTextCompare) > 0 _
          Or InStr(1, c.Value, "短信", vbTextCompare) > 0 _
          Or InStr(1, c.Value, "敲门", vbTextCompare) > 0 _
          Or InStr(1, c.Value, "邀评", vbTextCompare) > 0 Then
              c.Characters(Start:=1, Length:=Len(c.Value)).Font.ColorIndex = 3 '3代表红色
          End If
      Next c
      
      End Sub
      

      这个宏会找到EJ列中包含关键字 "电话""要好评" "短信" "敲门"" 邀评"的文本,将其标记为红色。

      只需在Excel中打开你要处理的工作簿,并打开VBA编辑器,在模块中添加以上代码,然后按下F5运行,即可完成标红处理。

      @ChatGPT 按照步骤讲解上述如何在excel中运行?

      ChatGPTC 离线
      ChatGPTC 离线
      ChatGPT
      写于 最后由 编辑
      #9616

      Mockingbird 说:

      ChatGPT 说:

      Mockingbird 说:

      @ChatGPT 你现在是一个VBA 宏专家,请帮我用VBA 宏写一个代码,它需要做到将EJ列中包含关键字"电话""要好评" "短信" "敲门"" 邀评"的文本标红处理

      当然可以,以下是符合您要求的VBA宏代码:

      Sub highlightKeywords()
      
      Dim LastRow As Long
      Dim c As Range
      Dim ws As Worksheet
      
      Set ws = ThisWorkbook.ActiveSheet
      LastRow = ws.Cells(ws.Rows.Count, "E").End(xlUp).Row
      
      For Each c In ws.Range("E2:E" & LastRow)
          If InStr(1, c.Value, "电话", vbTextCompare) > 0 _
          Or InStr(1, c.Value, "要好评", vbTextCompare) > 0 _
          Or InStr(1, c.Value, "短信", vbTextCompare) > 0 _
          Or InStr(1, c.Value, "敲门", vbTextCompare) > 0 _
          Or InStr(1, c.Value, "邀评", vbTextCompare) > 0 Then
              c.Characters(Start:=1, Length:=Len(c.Value)).Font.ColorIndex = 3 '3代表红色
          End If
      Next c
      
      End Sub
      

      这个宏会找到EJ列中包含关键字 "电话""要好评" "短信" "敲门"" 邀评"的文本,将其标记为红色。

      只需在Excel中打开你要处理的工作簿,并打开VBA编辑器,在模块中添加以上代码,然后按下F5运行,即可完成标红处理。

      @ChatGPT 按照步骤讲解上述如何在excel中运行?

      好的,以下步骤告诉您如何在Excel中运行此宏:

      1. 打开您的Excel工作簿,并进入VBA编辑器
        您可以通过按下键盘上的Alt + F11键或在“开发者”选项卡中点击“Visual Basic”按钮来打开VBA编辑器。

      2. 在VBA编辑器中,选择想要在其中添加宏的工作表。
        在工程窗格中,找到工作簿所在地,双击该工作簿以展开其项目列表。选中要运行宏的工作表,右键单击该工作表并选择“插入”> “模块”以添加新模块。

      3. 在新模块中输入宏代码。
        将前面提供的宏代码复制并粘贴到空白模块中。

      4. 保存并关闭VBA编辑器。
        按下Alt + Q可以退出VBA编辑器。

      5. 运行宏。
        在Excel的工作表中,按下Alt + F8将打开“宏”对话框。选中要运行的宏并点击“运行”即可。

      请注意,每次更改和保存Excel工作簿时,您需要在打开VBA编辑器之前启用“宏”。如果没有启用“宏”,则无法使用VBA代码运行宏。

      帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

      1 条回复 最后回复
      0
      • MockingbirdM 离线
        MockingbirdM 离线
        Mockingbird
        🍌
        写于 最后由 编辑
        #9617
        此主題已被删除!
        ChatGPTC 1 条回复 最后回复
        0
        • MockingbirdM Mockingbird

          此主題已被删除!

          ChatGPTC 离线
          ChatGPTC 离线
          ChatGPT
          写于 最后由 编辑
          #9618

          Mockingbird 说:

          ChatGPT 说:

          Mockingbird 说:

          @ChatGPT 你现在是一个VBA 宏专家,请帮我用VBA 宏写一个代码,它需要做到将EJ列中包含关键字"电话""要好评" "短信" "敲门"" 邀评"的文本标红处理

          当然可以,以下是符合您要求的VBA宏代码:

          Sub highlightKeywords()
          
          Dim LastRow As Long
          Dim c As Range
          Dim ws As Worksheet
          
          Set ws = ThisWorkbook.ActiveSheet
          LastRow = ws.Cells(ws.Rows.Count, "E").End(xlUp).Row
          
          For Each c In ws.Range("E2:E" & LastRow)
              If InStr(1, c.Value, "电话", vbTextCompare) > 0 _
              Or InStr(1, c.Value, "要好评", vbTextCompare) > 0 _
              Or InStr(1, c.Value, "短信", vbTextCompare) > 0 _
              Or InStr(1, c.Value, "敲门", vbTextCompare) > 0 _
              Or InStr(1, c.Value, "邀评", vbTextCompare) > 0 Then
                  c.Characters(Start:=1, Length:=Len(c.Value)).Font.ColorIndex = 3 '3代表红色
              End If
          Next c
          
          End Sub
          

          这个宏会找到EJ列中包含关键字 "电话""要好评" "短信" "敲门"" 邀评"的文本,将其标记为红色。

          只需在Excel中打开你要处理的工作簿,并打开VBA编辑器,在模块中添加以上代码,然后按下F5运行,即可完成标红处理。

          @ChatGPT 按照步骤讲解上述如何在excel中运行?

          以下是在Excel中运行VBA宏的步骤:

          1. 打开您想要运行VBA宏的Excel文档。

          2. 确认已启用开发工具选项。如果您未启用此选项,请执行以下操作:

            • 点击 Excel 上方的 "文件" 选项卡。
            • 点击 "选项"。
            • 在 "自定义功能区" 中,选中 "主选项卡" 后面的复选框,然后选中 "开发工具" 中的复选框。
            • 单击 "确定"。
          3. 打开 Visual Basic Editor (VBE)。

            • 点击 "开发工具" 选项卡上的 "Visual Basic" 按钮。
            • 或按 "Alt + F11"。
          4. 在 "模块" 中添加 VBA 宏代码。

            • 在 "项目 - VBAProject" 窗口中,通过双击 "模块" 打开。
            • 在 "标准" 模块上单击右键,并选择 "插入" -> "模块"。
            • 复制并粘贴VBA宏代码。
          5. 运行 VBA 宏。

            • 在 VBE 中,单击 VBA 宏中的任意位置。
            • 按 "F5" 或单击工具栏上的 "运行" 按钮。

          这样,VBA宏就会在Excel文档中运行。请确保您已正确设置 Excel 文档中的单元格和范围,以便宏可以正常工作。

          帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

          1 条回复 最后回复
          0
          • MockingbirdM 离线
            MockingbirdM 离线
            Mockingbird
            🍌
            写于 最后由 编辑
            #9619

            你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到将EJ列中包含关键字"电话""要好评" "短信" "敲门""邀评"”"反复""骚扰""多次""索要"的文本标红处理@ChatGPT

            1 条回复 最后回复
            0
            • MockingbirdM 离线
              MockingbirdM 离线
              Mockingbird
              🍌
              写于 最后由 编辑
              #9620

              @ChatGPT 你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到将EJ列中包含关键字"电话""要好评" "短信" "敲门""邀评"”"反复""骚扰""多次""索要"的文本标红处理

              ChatGPTC 1 条回复 最后回复
              0
              • MockingbirdM Mockingbird

                @ChatGPT 你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到将EJ列中包含关键字"电话""要好评" "短信" "敲门""邀评"”"反复""骚扰""多次""索要"的文本标红处理

                ChatGPTC 离线
                ChatGPTC 离线
                ChatGPT
                写于 最后由 编辑
                #9621

                Mockingbird 说:

                @ChatGPT 你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到将EJ列中包含关键字"电话""要好评" "短信" "敲门""邀评"”"反复""骚扰""多次""索要"的文本标红处理

                以下是一个简单的 VBA 宏,它可以让 EJ 列中包含指定关键字的文本标红:

                Sub HighlightKeywords()
                    Dim Cell As Range
                    Dim Keywords As Variant
                    Dim Keyword As Variant
                    
                    '添加需要匹配的关键字
                    Keywords = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", "骚扰", "多次", "索要")
                    
                    '使用 For 循环逐个寻找关键字并高亮文本
                    For Each Cell In Range("EJ:EJ")
                        For Each Keyword In Keywords
                            If InStr(1, Cell.Value, Keyword) Then
                                Cell.Font.ColorIndex = 3
                            End If
                        Next Keyword
                    Next Cell
                End Sub
                

                使用方式:

                1. 打开 Excel 文档,按下 Alt + F11 快捷键打开 VBA 编辑器。
                2. 在编辑器中插入一个模块,然后将以上代码复制到模块中。
                3. 定位到 Sheet1,选中 EJ 列中需要标红的文本。
                4. 在 VBA 编辑器中点击“运行”按钮即可。

                请注意,这段代码基于一个简单的搜索匹配算法,在文本中只要包含指定的关键词,无论出现在什么位置,都会被标红。如果需要更精确的匹配算法,请告诉我。

                帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                MockingbirdM 2 条回复 最后回复
                0
                • ChatGPTC ChatGPT

                  Mockingbird 说:

                  @ChatGPT 你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到将EJ列中包含关键字"电话""要好评" "短信" "敲门""邀评"”"反复""骚扰""多次""索要"的文本标红处理

                  以下是一个简单的 VBA 宏,它可以让 EJ 列中包含指定关键字的文本标红:

                  Sub HighlightKeywords()
                      Dim Cell As Range
                      Dim Keywords As Variant
                      Dim Keyword As Variant
                      
                      '添加需要匹配的关键字
                      Keywords = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", "骚扰", "多次", "索要")
                      
                      '使用 For 循环逐个寻找关键字并高亮文本
                      For Each Cell In Range("EJ:EJ")
                          For Each Keyword In Keywords
                              If InStr(1, Cell.Value, Keyword) Then
                                  Cell.Font.ColorIndex = 3
                              End If
                          Next Keyword
                      Next Cell
                  End Sub
                  

                  使用方式:

                  1. 打开 Excel 文档,按下 Alt + F11 快捷键打开 VBA 编辑器。
                  2. 在编辑器中插入一个模块,然后将以上代码复制到模块中。
                  3. 定位到 Sheet1,选中 EJ 列中需要标红的文本。
                  4. 在 VBA 编辑器中点击“运行”按钮即可。

                  请注意,这段代码基于一个简单的搜索匹配算法,在文本中只要包含指定的关键词,无论出现在什么位置,都会被标红。如果需要更精确的匹配算法,请告诉我。

                  MockingbirdM 离线
                  MockingbirdM 离线
                  Mockingbird
                  🍌
                  写于 最后由 编辑
                  #9622

                  ChatGPT 说:

                  Mockingbird 说:

                  @ChatGPT 你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到将EJ列中包含关键字"电话""要好评" "短信" "敲门""邀评"”"反复""骚扰""多次""索要"的文本标红处理

                  以下是一个简单的 VBA 宏,它可以让 EJ 列中包含指定关键字的文本标红:

                  Sub HighlightKeywords()
                      Dim Cell As Range
                      Dim Keywords As Variant
                      Dim Keyword As Variant
                      
                      '添加需要匹配的关键字
                      Keywords = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", "骚扰", "多次", "索要")
                      
                      '使用 For 循环逐个寻找关键字并高亮文本
                      For Each Cell In Range("EJ:EJ")
                          For Each Keyword In Keywords
                              If InStr(1, Cell.Value, Keyword) Then
                                  Cell.Font.ColorIndex = 3
                              End If
                          Next Keyword
                      Next Cell
                  End Sub
                  

                  使用方式:

                  1. 打开 Excel 文档,按下 Alt + F11 快捷键打开 VBA 编辑器。
                  2. 在编辑器中插入一个模块,然后将以上代码复制到模块中。
                  3. 定位到 Sheet1,选中 EJ 列中需要标红的文本。
                  4. 在 VBA 编辑器中点击“运行”按钮即可。

                  请注意,这段代码基于一个简单的搜索匹配算法,在文本中只要包含指定的关键词,无论出现在什么位置,都会被标红。如果需要更精确的匹配算法,请告诉我。

                  需要精确匹配算法并且仅标红加粗关键字,对应单元格填充黄色

                  1 条回复 最后回复
                  0
                  • ChatGPTC ChatGPT

                    Mockingbird 说:

                    @ChatGPT 你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到将EJ列中包含关键字"电话""要好评" "短信" "敲门""邀评"”"反复""骚扰""多次""索要"的文本标红处理

                    以下是一个简单的 VBA 宏,它可以让 EJ 列中包含指定关键字的文本标红:

                    Sub HighlightKeywords()
                        Dim Cell As Range
                        Dim Keywords As Variant
                        Dim Keyword As Variant
                        
                        '添加需要匹配的关键字
                        Keywords = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", "骚扰", "多次", "索要")
                        
                        '使用 For 循环逐个寻找关键字并高亮文本
                        For Each Cell In Range("EJ:EJ")
                            For Each Keyword In Keywords
                                If InStr(1, Cell.Value, Keyword) Then
                                    Cell.Font.ColorIndex = 3
                                End If
                            Next Keyword
                        Next Cell
                    End Sub
                    

                    使用方式:

                    1. 打开 Excel 文档,按下 Alt + F11 快捷键打开 VBA 编辑器。
                    2. 在编辑器中插入一个模块,然后将以上代码复制到模块中。
                    3. 定位到 Sheet1,选中 EJ 列中需要标红的文本。
                    4. 在 VBA 编辑器中点击“运行”按钮即可。

                    请注意,这段代码基于一个简单的搜索匹配算法,在文本中只要包含指定的关键词,无论出现在什么位置,都会被标红。如果需要更精确的匹配算法,请告诉我。

                    MockingbirdM 离线
                    MockingbirdM 离线
                    Mockingbird
                    🍌
                    写于 最后由 编辑
                    #9623

                    @ChatGPT 需要精确匹配算法并且仅标红加粗关键字,对应单元格填充黄色

                    ChatGPTC 1 条回复 最后回复
                    0
                    • MockingbirdM Mockingbird

                      @ChatGPT 需要精确匹配算法并且仅标红加粗关键字,对应单元格填充黄色

                      ChatGPTC 离线
                      ChatGPTC 离线
                      ChatGPT
                      写于 最后由 编辑
                      #9624

                      Mockingbird 说:

                      @ChatGPT 需要精确匹配算法并且仅标红加粗关键字,对应单元格填充黄色

                      您好!提供一个精确匹配并在单元格中标红加粗关键字,并将对应单元格填充黄色的VBA代码:

                      Sub HighlightKeywords()
                          Dim keyword As String
                          Dim value As String
                          Dim cell As Range
                          
                          For Each cell In Selection
                              value = cell.Value
                              For Each keyword In Split("Keyword1,Keyword2,Keyword3", ",")
                                  If InStr(1, value, keyword, vbTextCompare) > 0 Then
                                      value = Replace(value, keyword, "" & keyword & "", Compare:=vbTextCompare)
                                      cell.Value = value
                                      cell.Interior.Color = RGB(255, 255, 0)
                                  End If
                              Next keyword
                          Next cell
                      End Sub
                      

                      在代码中,您需要将 "Keyword1,Keyword2,Keyword3" 替换为您要匹配的关键字,多个关键字间用逗号分隔。将代码复制到Excel宏中,选中要处理的单元格,运行代码即可。

                      请注意,这段代码仅适用于选中单元格的处理。如果您需要处理整个工作表,请将代码修改为适合整个工作表的形式。

                      帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                      1 条回复 最后回复
                      0
                      • MockingbirdM 离线
                        MockingbirdM 离线
                        Mockingbird
                        🍌
                        写于 最后由 编辑
                        #9625
                        此主題已被删除!
                        1 条回复 最后回复
                        0
                        • MockingbirdM 离线
                          MockingbirdM 离线
                          Mockingbird
                          🍌
                          写于 最后由 编辑
                          #9626
                          此主題已被删除!
                          1 条回复 最后回复
                          0
                          • MockingbirdM 离线
                            MockingbirdM 离线
                            Mockingbird
                            🍌
                            写于 最后由 编辑
                            #9627

                            @ChatGPT
                            你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到将EJ列中包含关键字"电话,要好评,短信,敲门,邀评,反复,骚扰,多次,索要,邀评,催评价,催要评价,不要给差评,追着"的文本标红加粗处理,并将所在单元格填充黄色,在EJ列之后插入一列命名"判罚"。

                            ChatGPTC 1 条回复 最后回复
                            0
                            • MockingbirdM Mockingbird

                              @ChatGPT
                              你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到将EJ列中包含关键字"电话,要好评,短信,敲门,邀评,反复,骚扰,多次,索要,邀评,催评价,催要评价,不要给差评,追着"的文本标红加粗处理,并将所在单元格填充黄色,在EJ列之后插入一列命名"判罚"。

                              ChatGPTC 离线
                              ChatGPTC 离线
                              ChatGPT
                              写于 最后由 编辑
                              #9628

                              Mockingbird 说:

                              @ChatGPT
                              你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到将EJ列中包含关键字"电话,要好评,短信,敲门,邀评,反复,骚扰,多次,索要,邀评,催评价,催要评价,不要给差评,追着"的文本标红加粗处理,并将所在单元格填充黄色,在EJ列之后插入一列命名"判罚"。

                              好的,以下是参考代码,请按照实际情况进行适当修改:

                              Sub Highlight_Cell()
                                  Dim rng As Range
                                  Dim keywordList As Variant
                                  Dim keyword As Variant
                                  
                                  keywordList = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", _
                                                      "骚扰", "多次", "索要", "邀评", "催评价", "催要评价", _
                                                      "不要给差评", "追着")
                                  
                                  '设置要操作的单元格范围
                                  Set rng = Range("EJ:EJ")
                                  
                                  '循环判断每个单元格文本是否包含关键字
                                  For Each c In rng
                                      For Each keyword In keywordList
                                          If InStr(1, c.Text, keyword) > 0 Then
                                              '找到关键字时进行标红加粗和填充黄色操作
                                              c.Font.Bold = True
                                              c.Font.ColorIndex = 3 '设置字体颜色为红色
                                              c.Interior.ColorIndex = 6 '设置单元格填充颜色为黄色
                                              '在EJ列后面插入一列
                                              Range("EK1").EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
                                              Range("EK1").Value = "判罚"
                                              Exit For '找到一个关键字后,就跳出循环
                                          End If
                                      Next keyword
                                  Next c
                              End Sub
                              

                              请打开Excel文件,按下Alt + F11,打开VBA编辑器,将以上代码复制到一个新模块中,保存后返回到Excel页面,按下Alt + F8,选择刚刚新建的宏,运行即可。

                              希望能对您有所帮助!

                              帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                              MockingbirdM 1 条回复 最后回复
                              0
                              • ChatGPTC ChatGPT

                                Mockingbird 说:

                                @ChatGPT
                                你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到将EJ列中包含关键字"电话,要好评,短信,敲门,邀评,反复,骚扰,多次,索要,邀评,催评价,催要评价,不要给差评,追着"的文本标红加粗处理,并将所在单元格填充黄色,在EJ列之后插入一列命名"判罚"。

                                好的,以下是参考代码,请按照实际情况进行适当修改:

                                Sub Highlight_Cell()
                                    Dim rng As Range
                                    Dim keywordList As Variant
                                    Dim keyword As Variant
                                    
                                    keywordList = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", _
                                                        "骚扰", "多次", "索要", "邀评", "催评价", "催要评价", _
                                                        "不要给差评", "追着")
                                    
                                    '设置要操作的单元格范围
                                    Set rng = Range("EJ:EJ")
                                    
                                    '循环判断每个单元格文本是否包含关键字
                                    For Each c In rng
                                        For Each keyword In keywordList
                                            If InStr(1, c.Text, keyword) > 0 Then
                                                '找到关键字时进行标红加粗和填充黄色操作
                                                c.Font.Bold = True
                                                c.Font.ColorIndex = 3 '设置字体颜色为红色
                                                c.Interior.ColorIndex = 6 '设置单元格填充颜色为黄色
                                                '在EJ列后面插入一列
                                                Range("EK1").EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
                                                Range("EK1").Value = "判罚"
                                                Exit For '找到一个关键字后,就跳出循环
                                            End If
                                        Next keyword
                                    Next c
                                End Sub
                                

                                请打开Excel文件,按下Alt + F11,打开VBA编辑器,将以上代码复制到一个新模块中,保存后返回到Excel页面,按下Alt + F8,选择刚刚新建的宏,运行即可。

                                希望能对您有所帮助!

                                MockingbirdM 离线
                                MockingbirdM 离线
                                Mockingbird
                                🍌
                                写于 最后由 编辑
                                #9629

                                ChatGPT 说:

                                Mockingbird 说:

                                @ChatGPT
                                你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到将EJ列中包含关键字"电话,要好评,短信,敲门,邀评,反复,骚扰,多次,索要,邀评,催评价,催要评价,不要给差评,追着"的文本标红加粗处理,并将所在单元格填充黄色,在EJ列之后插入一列命名"判罚"。

                                好的,以下是参考代码,请按照实际情况进行适当修改:

                                Sub Highlight_Cell()
                                    Dim rng As Range
                                    Dim keywordList As Variant
                                    Dim keyword As Variant
                                    
                                    keywordList = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", _
                                                        "骚扰", "多次", "索要", "邀评", "催评价", "催要评价", _
                                                        "不要给差评", "追着")
                                    
                                    '设置要操作的单元格范围
                                    Set rng = Range("EJ:EJ")
                                    
                                    '循环判断每个单元格文本是否包含关键字
                                    For Each c In rng
                                        For Each keyword In keywordList
                                            If InStr(1, c.Text, keyword) > 0 Then
                                                '找到关键字时进行标红加粗和填充黄色操作
                                                c.Font.Bold = True
                                                c.Font.ColorIndex = 3 '设置字体颜色为红色
                                                c.Interior.ColorIndex = 6 '设置单元格填充颜色为黄色
                                                '在EJ列后面插入一列
                                                Range("EK1").EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
                                                Range("EK1").Value = "判罚"
                                                Exit For '找到一个关键字后,就跳出循环
                                            End If
                                        Next keyword
                                    Next c
                                End Sub
                                

                                请打开Excel文件,按下Alt + F11,打开VBA编辑器,将以上代码复制到一个新模块中,保存后返回到Excel页面,按下Alt + F8,选择刚刚新建的宏,运行即可。

                                希望能对您有所帮助!

                                @ChatGPT 上面的代码中存在错误,仅对关键字加粗标红,并非整个单元格

                                ChatGPTC 1 条回复 最后回复
                                0
                                • MockingbirdM Mockingbird

                                  ChatGPT 说:

                                  Mockingbird 说:

                                  @ChatGPT
                                  你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到将EJ列中包含关键字"电话,要好评,短信,敲门,邀评,反复,骚扰,多次,索要,邀评,催评价,催要评价,不要给差评,追着"的文本标红加粗处理,并将所在单元格填充黄色,在EJ列之后插入一列命名"判罚"。

                                  好的,以下是参考代码,请按照实际情况进行适当修改:

                                  Sub Highlight_Cell()
                                      Dim rng As Range
                                      Dim keywordList As Variant
                                      Dim keyword As Variant
                                      
                                      keywordList = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", _
                                                          "骚扰", "多次", "索要", "邀评", "催评价", "催要评价", _
                                                          "不要给差评", "追着")
                                      
                                      '设置要操作的单元格范围
                                      Set rng = Range("EJ:EJ")
                                      
                                      '循环判断每个单元格文本是否包含关键字
                                      For Each c In rng
                                          For Each keyword In keywordList
                                              If InStr(1, c.Text, keyword) > 0 Then
                                                  '找到关键字时进行标红加粗和填充黄色操作
                                                  c.Font.Bold = True
                                                  c.Font.ColorIndex = 3 '设置字体颜色为红色
                                                  c.Interior.ColorIndex = 6 '设置单元格填充颜色为黄色
                                                  '在EJ列后面插入一列
                                                  Range("EK1").EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
                                                  Range("EK1").Value = "判罚"
                                                  Exit For '找到一个关键字后,就跳出循环
                                              End If
                                          Next keyword
                                      Next c
                                  End Sub
                                  

                                  请打开Excel文件,按下Alt + F11,打开VBA编辑器,将以上代码复制到一个新模块中,保存后返回到Excel页面,按下Alt + F8,选择刚刚新建的宏,运行即可。

                                  希望能对您有所帮助!

                                  @ChatGPT 上面的代码中存在错误,仅对关键字加粗标红,并非整个单元格

                                  ChatGPTC 离线
                                  ChatGPTC 离线
                                  ChatGPT
                                  写于 最后由 编辑
                                  #9630

                                  Mockingbird 说:

                                  ChatGPT 说:

                                  Mockingbird 说:

                                  @ChatGPT
                                  你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到将EJ列中包含关键字"电话,要好评,短信,敲门,邀评,反复,骚扰,多次,索要,邀评,催评价,催要评价,不要给差评,追着"的文本标红加粗处理,并将所在单元格填充黄色,在EJ列之后插入一列命名"判罚"。

                                  好的,以下是参考代码,请按照实际情况进行适当修改:

                                  Sub Highlight_Cell()
                                      Dim rng As Range
                                      Dim keywordList As Variant
                                      Dim keyword As Variant
                                      
                                      keywordList = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", _
                                                          "骚扰", "多次", "索要", "邀评", "催评价", "催要评价", _
                                                          "不要给差评", "追着")
                                      
                                      '设置要操作的单元格范围
                                      Set rng = Range("EJ:EJ")
                                      
                                      '循环判断每个单元格文本是否包含关键字
                                      For Each c In rng
                                          For Each keyword In keywordList
                                              If InStr(1, c.Text, keyword) > 0 Then
                                                  '找到关键字时进行标红加粗和填充黄色操作
                                                  c.Font.Bold = True
                                                  c.Font.ColorIndex = 3 '设置字体颜色为红色
                                                  c.Interior.ColorIndex = 6 '设置单元格填充颜色为黄色
                                                  '在EJ列后面插入一列
                                                  Range("EK1").EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
                                                  Range("EK1").Value = "判罚"
                                                  Exit For '找到一个关键字后,就跳出循环
                                              End If
                                          Next keyword
                                      Next c
                                  End Sub
                                  

                                  请打开Excel文件,按下Alt + F11,打开VBA编辑器,将以上代码复制到一个新模块中,保存后返回到Excel页面,按下Alt + F8,选择刚刚新建的宏,运行即可。

                                  希望能对您有所帮助!

                                  @ChatGPT 上面的代码中存在错误,仅对关键字加粗标红,并非整个单元格

                                  非常抱歉,没能注意到这个错误,下面是解决这个问题的代码

                                  Sub Highlight_Cell()
                                  Dim rng As Range
                                  Dim keywordList As Variant
                                  Dim keyword As Variant
                                  
                                  keywordList = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", _
                                  "骚扰", "多次", "索要", "邀评", "催评价", "催要评价", _
                                  "不要给差评", "追着")
                                  
                                  '设置要操作的单元格范围
                                  Set rng = Range("EJ:EJ")
                                  
                                  '循环判断每个单元格文本是否包含关键字
                                  For Each c In rng
                                      For Each keyword In keywordList
                                          '找到关键字时进行标红加粗和填充黄色操作
                                          If InStr(1, c.Value, keyword) > 0 Then
                                              With c.Characters(Start:=InStr(1, c.Value, keyword), Length:=Len(keyword)).Font '标红加粗
                                                  .Bold = True
                                                  .ColorIndex = 3
                                              End With
                                              c.Interior.ColorIndex = 6 '设置单元格填充颜色为黄色
                                              '在EJ列后面插入一列
                                              Range("EK1").EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
                                              Range("EK1").Value = "判罚"
                                          End If
                                      Next keyword
                                  Next c
                                  End Sub
                                  

                                  代码解释:

                                  • VBA会循环遍历文本中的每一个字符,因此我们需要使用 c.Characters 来操作该字符;

                                  • 使用 InStr 函数来查找关键字在文本中的位置,如果找到了,就用 Bold=True 和 ColorIndex=3 来标记该字符;

                                  • Len(keyword) 返回关键字的长度,从而确定使用 Characters 方法时需要提取的字符数量。

                                  希望这次能对您有所帮助。如果您有其他问题,可以随时在该帖子下方留言。

                                  帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                                  MockingbirdM 1 条回复 最后回复
                                  0
                                  • ChatGPTC ChatGPT

                                    Mockingbird 说:

                                    ChatGPT 说:

                                    Mockingbird 说:

                                    @ChatGPT
                                    你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到将EJ列中包含关键字"电话,要好评,短信,敲门,邀评,反复,骚扰,多次,索要,邀评,催评价,催要评价,不要给差评,追着"的文本标红加粗处理,并将所在单元格填充黄色,在EJ列之后插入一列命名"判罚"。

                                    好的,以下是参考代码,请按照实际情况进行适当修改:

                                    Sub Highlight_Cell()
                                        Dim rng As Range
                                        Dim keywordList As Variant
                                        Dim keyword As Variant
                                        
                                        keywordList = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", _
                                                            "骚扰", "多次", "索要", "邀评", "催评价", "催要评价", _
                                                            "不要给差评", "追着")
                                        
                                        '设置要操作的单元格范围
                                        Set rng = Range("EJ:EJ")
                                        
                                        '循环判断每个单元格文本是否包含关键字
                                        For Each c In rng
                                            For Each keyword In keywordList
                                                If InStr(1, c.Text, keyword) > 0 Then
                                                    '找到关键字时进行标红加粗和填充黄色操作
                                                    c.Font.Bold = True
                                                    c.Font.ColorIndex = 3 '设置字体颜色为红色
                                                    c.Interior.ColorIndex = 6 '设置单元格填充颜色为黄色
                                                    '在EJ列后面插入一列
                                                    Range("EK1").EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
                                                    Range("EK1").Value = "判罚"
                                                    Exit For '找到一个关键字后,就跳出循环
                                                End If
                                            Next keyword
                                        Next c
                                    End Sub
                                    

                                    请打开Excel文件,按下Alt + F11,打开VBA编辑器,将以上代码复制到一个新模块中,保存后返回到Excel页面,按下Alt + F8,选择刚刚新建的宏,运行即可。

                                    希望能对您有所帮助!

                                    @ChatGPT 上面的代码中存在错误,仅对关键字加粗标红,并非整个单元格

                                    非常抱歉,没能注意到这个错误,下面是解决这个问题的代码

                                    Sub Highlight_Cell()
                                    Dim rng As Range
                                    Dim keywordList As Variant
                                    Dim keyword As Variant
                                    
                                    keywordList = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", _
                                    "骚扰", "多次", "索要", "邀评", "催评价", "催要评价", _
                                    "不要给差评", "追着")
                                    
                                    '设置要操作的单元格范围
                                    Set rng = Range("EJ:EJ")
                                    
                                    '循环判断每个单元格文本是否包含关键字
                                    For Each c In rng
                                        For Each keyword In keywordList
                                            '找到关键字时进行标红加粗和填充黄色操作
                                            If InStr(1, c.Value, keyword) > 0 Then
                                                With c.Characters(Start:=InStr(1, c.Value, keyword), Length:=Len(keyword)).Font '标红加粗
                                                    .Bold = True
                                                    .ColorIndex = 3
                                                End With
                                                c.Interior.ColorIndex = 6 '设置单元格填充颜色为黄色
                                                '在EJ列后面插入一列
                                                Range("EK1").EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
                                                Range("EK1").Value = "判罚"
                                            End If
                                        Next keyword
                                    Next c
                                    End Sub
                                    

                                    代码解释:

                                    • VBA会循环遍历文本中的每一个字符,因此我们需要使用 c.Characters 来操作该字符;

                                    • 使用 InStr 函数来查找关键字在文本中的位置,如果找到了,就用 Bold=True 和 ColorIndex=3 来标记该字符;

                                    • Len(keyword) 返回关键字的长度,从而确定使用 Characters 方法时需要提取的字符数量。

                                    希望这次能对您有所帮助。如果您有其他问题,可以随时在该帖子下方留言。

                                    MockingbirdM 离线
                                    MockingbirdM 离线
                                    Mockingbird
                                    🍌
                                    写于 最后由 编辑
                                    #9631

                                    ChatGPT 说:

                                    Mockingbird 说:

                                    ChatGPT 说:

                                    Mockingbird 说:

                                    @ChatGPT
                                    你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到将EJ列中包含关键字"电话,要好评,短信,敲门,邀评,反复,骚扰,多次,索要,邀评,催评价,催要评价,不要给差评,追着"的文本标红加粗处理,并将所在单元格填充黄色,在EJ列之后插入一列命名"判罚"。

                                    好的,以下是参考代码,请按照实际情况进行适当修改:

                                    Sub Highlight_Cell()
                                        Dim rng As Range
                                        Dim keywordList As Variant
                                        Dim keyword As Variant
                                        
                                        keywordList = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", _
                                                            "骚扰", "多次", "索要", "邀评", "催评价", "催要评价", _
                                                            "不要给差评", "追着")
                                        
                                        '设置要操作的单元格范围
                                        Set rng = Range("EJ:EJ")
                                        
                                        '循环判断每个单元格文本是否包含关键字
                                        For Each c In rng
                                            For Each keyword In keywordList
                                                If InStr(1, c.Text, keyword) > 0 Then
                                                    '找到关键字时进行标红加粗和填充黄色操作
                                                    c.Font.Bold = True
                                                    c.Font.ColorIndex = 3 '设置字体颜色为红色
                                                    c.Interior.ColorIndex = 6 '设置单元格填充颜色为黄色
                                                    '在EJ列后面插入一列
                                                    Range("EK1").EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
                                                    Range("EK1").Value = "判罚"
                                                    Exit For '找到一个关键字后,就跳出循环
                                                End If
                                            Next keyword
                                        Next c
                                    End Sub
                                    

                                    请打开Excel文件,按下Alt + F11,打开VBA编辑器,将以上代码复制到一个新模块中,保存后返回到Excel页面,按下Alt + F8,选择刚刚新建的宏,运行即可。

                                    希望能对您有所帮助!

                                    @ChatGPT 上面的代码中存在错误,仅对关键字加粗标红,并非整个单元格

                                    非常抱歉,没能注意到这个错误,下面是解决这个问题的代码

                                    Sub Highlight_Cell()
                                    Dim rng As Range
                                    Dim keywordList As Variant
                                    Dim keyword As Variant
                                    
                                    keywordList = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", _
                                    "骚扰", "多次", "索要", "邀评", "催评价", "催要评价", _
                                    "不要给差评", "追着")
                                    
                                    '设置要操作的单元格范围
                                    Set rng = Range("EJ:EJ")
                                    
                                    '循环判断每个单元格文本是否包含关键字
                                    For Each c In rng
                                        For Each keyword In keywordList
                                            '找到关键字时进行标红加粗和填充黄色操作
                                            If InStr(1, c.Value, keyword) > 0 Then
                                                With c.Characters(Start:=InStr(1, c.Value, keyword), Length:=Len(keyword)).Font '标红加粗
                                                    .Bold = True
                                                    .ColorIndex = 3
                                                End With
                                                c.Interior.ColorIndex = 6 '设置单元格填充颜色为黄色
                                                '在EJ列后面插入一列
                                                Range("EK1").EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
                                                Range("EK1").Value = "判罚"
                                            End If
                                        Next keyword
                                    Next c
                                    End Sub
                                    

                                    代码解释:

                                    • VBA会循环遍历文本中的每一个字符,因此我们需要使用 c.Characters 来操作该字符;

                                    • 使用 InStr 函数来查找关键字在文本中的位置,如果找到了,就用 Bold=True 和 ColorIndex=3 来标记该字符;

                                    • Len(keyword) 返回关键字的长度,从而确定使用 Characters 方法时需要提取的字符数量。

                                    希望这次能对您有所帮助。如果您有其他问题,可以随时在该帖子下方留言。

                                    @ChatGPT 上面的代码中存在错误,在EJ列之后插入一列命名"判罚"仅需要执行一次,并非每次都执行。

                                    ChatGPTC 1 条回复 最后回复
                                    0
                                    • MockingbirdM Mockingbird

                                      ChatGPT 说:

                                      Mockingbird 说:

                                      ChatGPT 说:

                                      Mockingbird 说:

                                      @ChatGPT
                                      你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到将EJ列中包含关键字"电话,要好评,短信,敲门,邀评,反复,骚扰,多次,索要,邀评,催评价,催要评价,不要给差评,追着"的文本标红加粗处理,并将所在单元格填充黄色,在EJ列之后插入一列命名"判罚"。

                                      好的,以下是参考代码,请按照实际情况进行适当修改:

                                      Sub Highlight_Cell()
                                          Dim rng As Range
                                          Dim keywordList As Variant
                                          Dim keyword As Variant
                                          
                                          keywordList = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", _
                                                              "骚扰", "多次", "索要", "邀评", "催评价", "催要评价", _
                                                              "不要给差评", "追着")
                                          
                                          '设置要操作的单元格范围
                                          Set rng = Range("EJ:EJ")
                                          
                                          '循环判断每个单元格文本是否包含关键字
                                          For Each c In rng
                                              For Each keyword In keywordList
                                                  If InStr(1, c.Text, keyword) > 0 Then
                                                      '找到关键字时进行标红加粗和填充黄色操作
                                                      c.Font.Bold = True
                                                      c.Font.ColorIndex = 3 '设置字体颜色为红色
                                                      c.Interior.ColorIndex = 6 '设置单元格填充颜色为黄色
                                                      '在EJ列后面插入一列
                                                      Range("EK1").EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
                                                      Range("EK1").Value = "判罚"
                                                      Exit For '找到一个关键字后,就跳出循环
                                                  End If
                                              Next keyword
                                          Next c
                                      End Sub
                                      

                                      请打开Excel文件,按下Alt + F11,打开VBA编辑器,将以上代码复制到一个新模块中,保存后返回到Excel页面,按下Alt + F8,选择刚刚新建的宏,运行即可。

                                      希望能对您有所帮助!

                                      @ChatGPT 上面的代码中存在错误,仅对关键字加粗标红,并非整个单元格

                                      非常抱歉,没能注意到这个错误,下面是解决这个问题的代码

                                      Sub Highlight_Cell()
                                      Dim rng As Range
                                      Dim keywordList As Variant
                                      Dim keyword As Variant
                                      
                                      keywordList = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", _
                                      "骚扰", "多次", "索要", "邀评", "催评价", "催要评价", _
                                      "不要给差评", "追着")
                                      
                                      '设置要操作的单元格范围
                                      Set rng = Range("EJ:EJ")
                                      
                                      '循环判断每个单元格文本是否包含关键字
                                      For Each c In rng
                                          For Each keyword In keywordList
                                              '找到关键字时进行标红加粗和填充黄色操作
                                              If InStr(1, c.Value, keyword) > 0 Then
                                                  With c.Characters(Start:=InStr(1, c.Value, keyword), Length:=Len(keyword)).Font '标红加粗
                                                      .Bold = True
                                                      .ColorIndex = 3
                                                  End With
                                                  c.Interior.ColorIndex = 6 '设置单元格填充颜色为黄色
                                                  '在EJ列后面插入一列
                                                  Range("EK1").EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
                                                  Range("EK1").Value = "判罚"
                                              End If
                                          Next keyword
                                      Next c
                                      End Sub
                                      

                                      代码解释:

                                      • VBA会循环遍历文本中的每一个字符,因此我们需要使用 c.Characters 来操作该字符;

                                      • 使用 InStr 函数来查找关键字在文本中的位置,如果找到了,就用 Bold=True 和 ColorIndex=3 来标记该字符;

                                      • Len(keyword) 返回关键字的长度,从而确定使用 Characters 方法时需要提取的字符数量。

                                      希望这次能对您有所帮助。如果您有其他问题,可以随时在该帖子下方留言。

                                      @ChatGPT 上面的代码中存在错误,在EJ列之后插入一列命名"判罚"仅需要执行一次,并非每次都执行。

                                      ChatGPTC 离线
                                      ChatGPTC 离线
                                      ChatGPT
                                      写于 最后由 编辑
                                      #9632

                                      Mockingbird 说:

                                      ChatGPT 说:

                                      Mockingbird 说:

                                      ChatGPT 说:

                                      Mockingbird 说:

                                      @ChatGPT
                                      你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到将EJ列中包含关键字"电话,要好评,短信,敲门,邀评,反复,骚扰,多次,索要,邀评,催评价,催要评价,不要给差评,追着"的文本标红加粗处理,并将所在单元格填充黄色,在EJ列之后插入一列命名"判罚"。

                                      好的,以下是参考代码,请按照实际情况进行适当修改:

                                      Sub Highlight_Cell()
                                          Dim rng As Range
                                          Dim keywordList As Variant
                                          Dim keyword As Variant
                                          
                                          keywordList = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", _
                                                              "骚扰", "多次", "索要", "邀评", "催评价", "催要评价", _
                                                              "不要给差评", "追着")
                                          
                                          '设置要操作的单元格范围
                                          Set rng = Range("EJ:EJ")
                                          
                                          '循环判断每个单元格文本是否包含关键字
                                          For Each c In rng
                                              For Each keyword In keywordList
                                                  If InStr(1, c.Text, keyword) > 0 Then
                                                      '找到关键字时进行标红加粗和填充黄色操作
                                                      c.Font.Bold = True
                                                      c.Font.ColorIndex = 3 '设置字体颜色为红色
                                                      c.Interior.ColorIndex = 6 '设置单元格填充颜色为黄色
                                                      '在EJ列后面插入一列
                                                      Range("EK1").EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
                                                      Range("EK1").Value = "判罚"
                                                      Exit For '找到一个关键字后,就跳出循环
                                                  End If
                                              Next keyword
                                          Next c
                                      End Sub
                                      

                                      请打开Excel文件,按下Alt + F11,打开VBA编辑器,将以上代码复制到一个新模块中,保存后返回到Excel页面,按下Alt + F8,选择刚刚新建的宏,运行即可。

                                      希望能对您有所帮助!

                                      @ChatGPT 上面的代码中存在错误,仅对关键字加粗标红,并非整个单元格

                                      非常抱歉,没能注意到这个错误,下面是解决这个问题的代码

                                      Sub Highlight_Cell()
                                      Dim rng As Range
                                      Dim keywordList As Variant
                                      Dim keyword As Variant
                                      
                                      keywordList = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", _
                                      "骚扰", "多次", "索要", "邀评", "催评价", "催要评价", _
                                      "不要给差评", "追着")
                                      
                                      '设置要操作的单元格范围
                                      Set rng = Range("EJ:EJ")
                                      
                                      '循环判断每个单元格文本是否包含关键字
                                      For Each c In rng
                                          For Each keyword In keywordList
                                              '找到关键字时进行标红加粗和填充黄色操作
                                              If InStr(1, c.Value, keyword) > 0 Then
                                                  With c.Characters(Start:=InStr(1, c.Value, keyword), Length:=Len(keyword)).Font '标红加粗
                                                      .Bold = True
                                                      .ColorIndex = 3
                                                  End With
                                                  c.Interior.ColorIndex = 6 '设置单元格填充颜色为黄色
                                                  '在EJ列后面插入一列
                                                  Range("EK1").EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
                                                  Range("EK1").Value = "判罚"
                                              End If
                                          Next keyword
                                      Next c
                                      End Sub
                                      

                                      代码解释:

                                      • VBA会循环遍历文本中的每一个字符,因此我们需要使用 c.Characters 来操作该字符;

                                      • 使用 InStr 函数来查找关键字在文本中的位置,如果找到了,就用 Bold=True 和 ColorIndex=3 来标记该字符;

                                      • Len(keyword) 返回关键字的长度,从而确定使用 Characters 方法时需要提取的字符数量。

                                      希望这次能对您有所帮助。如果您有其他问题,可以随时在该帖子下方留言。

                                      @ChatGPT 上面的代码中存在错误,在EJ列之后插入一列命名"判罚"仅需要执行一次,并非每次都执行。

                                      非常感谢您的指正,下面是修改后的代码,已将判罚列的插入移到了循环外部。

                                      Sub Highlight_Cell()
                                      Dim rng As Range
                                      Dim keywordList As Variant
                                      Dim keyword As Variant
                                      
                                      keywordList = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", _
                                      "骚扰", "多次", "索要", "邀评", "催评价", "催要评价", _
                                      "不要给差评", "追着")
                                      
                                      '在EJ列后面插入一列
                                      Range("EJ1").Offset(0, 1).EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
                                      Range("EK1").Value = "判罚"
                                      
                                      '设置要操作的单元格范围
                                      Set rng = Range("EJ:EJ")
                                      
                                      '循环判断每个单元格文本是否包含关键字
                                      For Each c In rng
                                      For Each keyword In keywordList
                                      '找到关键字时进行标红加粗和填充黄色操作
                                      With c.Characters(Start:=InStr(1, c.Value, keyword), Length:=Len(keyword)).Font '标红加粗
                                      .Bold = True
                                      .ColorIndex = 3
                                      End With
                                      c.Interior.ColorIndex = 6 '设置单元格填充颜色为黄色
                                      Exit For '找到一个关键字后,就跳出循环
                                      Next keyword
                                      Next c
                                      End Sub
                                      

                                      代码解释:

                                      • 插入一列代码被移动到循环外部,使其只执行一次。

                                      我们也欢迎您将其他问题和需求留在该帖子下方,我们会及时进行回复和修改。

                                      帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                                      MockingbirdM 1 条回复 最后回复
                                      0
                                      • ChatGPTC ChatGPT

                                        Mockingbird 说:

                                        ChatGPT 说:

                                        Mockingbird 说:

                                        ChatGPT 说:

                                        Mockingbird 说:

                                        @ChatGPT
                                        你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到将EJ列中包含关键字"电话,要好评,短信,敲门,邀评,反复,骚扰,多次,索要,邀评,催评价,催要评价,不要给差评,追着"的文本标红加粗处理,并将所在单元格填充黄色,在EJ列之后插入一列命名"判罚"。

                                        好的,以下是参考代码,请按照实际情况进行适当修改:

                                        Sub Highlight_Cell()
                                            Dim rng As Range
                                            Dim keywordList As Variant
                                            Dim keyword As Variant
                                            
                                            keywordList = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", _
                                                                "骚扰", "多次", "索要", "邀评", "催评价", "催要评价", _
                                                                "不要给差评", "追着")
                                            
                                            '设置要操作的单元格范围
                                            Set rng = Range("EJ:EJ")
                                            
                                            '循环判断每个单元格文本是否包含关键字
                                            For Each c In rng
                                                For Each keyword In keywordList
                                                    If InStr(1, c.Text, keyword) > 0 Then
                                                        '找到关键字时进行标红加粗和填充黄色操作
                                                        c.Font.Bold = True
                                                        c.Font.ColorIndex = 3 '设置字体颜色为红色
                                                        c.Interior.ColorIndex = 6 '设置单元格填充颜色为黄色
                                                        '在EJ列后面插入一列
                                                        Range("EK1").EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
                                                        Range("EK1").Value = "判罚"
                                                        Exit For '找到一个关键字后,就跳出循环
                                                    End If
                                                Next keyword
                                            Next c
                                        End Sub
                                        

                                        请打开Excel文件,按下Alt + F11,打开VBA编辑器,将以上代码复制到一个新模块中,保存后返回到Excel页面,按下Alt + F8,选择刚刚新建的宏,运行即可。

                                        希望能对您有所帮助!

                                        @ChatGPT 上面的代码中存在错误,仅对关键字加粗标红,并非整个单元格

                                        非常抱歉,没能注意到这个错误,下面是解决这个问题的代码

                                        Sub Highlight_Cell()
                                        Dim rng As Range
                                        Dim keywordList As Variant
                                        Dim keyword As Variant
                                        
                                        keywordList = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", _
                                        "骚扰", "多次", "索要", "邀评", "催评价", "催要评价", _
                                        "不要给差评", "追着")
                                        
                                        '设置要操作的单元格范围
                                        Set rng = Range("EJ:EJ")
                                        
                                        '循环判断每个单元格文本是否包含关键字
                                        For Each c In rng
                                            For Each keyword In keywordList
                                                '找到关键字时进行标红加粗和填充黄色操作
                                                If InStr(1, c.Value, keyword) > 0 Then
                                                    With c.Characters(Start:=InStr(1, c.Value, keyword), Length:=Len(keyword)).Font '标红加粗
                                                        .Bold = True
                                                        .ColorIndex = 3
                                                    End With
                                                    c.Interior.ColorIndex = 6 '设置单元格填充颜色为黄色
                                                    '在EJ列后面插入一列
                                                    Range("EK1").EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
                                                    Range("EK1").Value = "判罚"
                                                End If
                                            Next keyword
                                        Next c
                                        End Sub
                                        

                                        代码解释:

                                        • VBA会循环遍历文本中的每一个字符,因此我们需要使用 c.Characters 来操作该字符;

                                        • 使用 InStr 函数来查找关键字在文本中的位置,如果找到了,就用 Bold=True 和 ColorIndex=3 来标记该字符;

                                        • Len(keyword) 返回关键字的长度,从而确定使用 Characters 方法时需要提取的字符数量。

                                        希望这次能对您有所帮助。如果您有其他问题,可以随时在该帖子下方留言。

                                        @ChatGPT 上面的代码中存在错误,在EJ列之后插入一列命名"判罚"仅需要执行一次,并非每次都执行。

                                        非常感谢您的指正,下面是修改后的代码,已将判罚列的插入移到了循环外部。

                                        Sub Highlight_Cell()
                                        Dim rng As Range
                                        Dim keywordList As Variant
                                        Dim keyword As Variant
                                        
                                        keywordList = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", _
                                        "骚扰", "多次", "索要", "邀评", "催评价", "催要评价", _
                                        "不要给差评", "追着")
                                        
                                        '在EJ列后面插入一列
                                        Range("EJ1").Offset(0, 1).EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
                                        Range("EK1").Value = "判罚"
                                        
                                        '设置要操作的单元格范围
                                        Set rng = Range("EJ:EJ")
                                        
                                        '循环判断每个单元格文本是否包含关键字
                                        For Each c In rng
                                        For Each keyword In keywordList
                                        '找到关键字时进行标红加粗和填充黄色操作
                                        With c.Characters(Start:=InStr(1, c.Value, keyword), Length:=Len(keyword)).Font '标红加粗
                                        .Bold = True
                                        .ColorIndex = 3
                                        End With
                                        c.Interior.ColorIndex = 6 '设置单元格填充颜色为黄色
                                        Exit For '找到一个关键字后,就跳出循环
                                        Next keyword
                                        Next c
                                        End Sub
                                        

                                        代码解释:

                                        • 插入一列代码被移动到循环外部,使其只执行一次。

                                        我们也欢迎您将其他问题和需求留在该帖子下方,我们会及时进行回复和修改。

                                        MockingbirdM 离线
                                        MockingbirdM 离线
                                        Mockingbird
                                        🍌
                                        写于 最后由 编辑
                                        #9633

                                        @ChatGPT 你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到在EJ列之后插入一列命名"判罚",将EJ列中包含关键字"电话,要好评,短信,敲门,邀评,反复,骚扰,多次,索要,邀评,催评价,催要评价,不要给差评,追着"的文本中的关键字进行标红加粗处理,并将所在单元格填充黄色。

                                        ChatGPTC 1 条回复 最后回复
                                        0
                                        • MockingbirdM Mockingbird

                                          @ChatGPT 你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到在EJ列之后插入一列命名"判罚",将EJ列中包含关键字"电话,要好评,短信,敲门,邀评,反复,骚扰,多次,索要,邀评,催评价,催要评价,不要给差评,追着"的文本中的关键字进行标红加粗处理,并将所在单元格填充黄色。

                                          ChatGPTC 离线
                                          ChatGPTC 离线
                                          ChatGPT
                                          写于 最后由 编辑
                                          #9634

                                          Mockingbird 说:

                                          @ChatGPT 你现在是一个[VBA 宏]专家,请帮我用[VBA 宏]写一个代码,它需要做到在EJ列之后插入一列命名"判罚",将EJ列中包含关键字"电话,要好评,短信,敲门,邀评,反复,骚扰,多次,索要,邀评,催评价,催要评价,不要给差评,追着"的文本中的关键字进行标红加粗处理,并将所在单元格填充黄色。

                                          不好意思,作为一个智能机器人,我不支持VBA编程。不过,我可以帮您找到一些示例代码和资源,帮您完成您的需求。

                                          以下是一个示例代码,可以完成您的需求(可适当修改):

                                          Sub MarkOffensiveWords()
                                          Dim ws As Worksheet
                                          Dim cell As Variant
                                          Dim i As Long
                                          Dim MarkRange As Range
                                          Dim WordList As Variant
                                          
                                          WordList = Array("电话", "要好评", "短信", "敲门", "邀评", "反复", "骚扰", "多次", "索要", "邀评", "催评价", "催要评价", "不要给差评", "追着")
                                          
                                          Set ws = ActiveSheet
                                          ws.Columns("EJ").Insert Shift:=xlToRight
                                          
                                          Set MarkRange = ws.Range("EK:EK")
                                          MarkRange.Value = ""
                                          
                                          For i = LBound(WordList) To UBound(WordList)
                                              Set cell = MarkRange.Find(WordList(i), LookIn:=xlValues, LookAt:=xlPart)
                                              If Not cell Is Nothing Then
                                                  Do
                                                      With cell
                                                          .Characters(Start:=InStr(1, cell.Value, WordList(i), vbTextCompare), Length:=Len(WordList(i))).Font.Bold = True
                                                          .Characters(Start:=InStr(1, cell.Value, WordList(i), vbTextCompare), Length:=Len(WordList(i))).Font.ColorIndex = 3
                                                          .Interior.ColorIndex = 6
                                                      End With
                                                      Set cell = MarkRange.FindNext(cell)
                                                  Loop While Not cell Is Nothing And cell.Address <> FirstAddr
                                              End If
                                          Next i
                                          
                                          End Sub
                                          

                                          代码中,输入了您要查找的关键词组成的数组,代码会遍历这个列表,并在EK列中查找这个词,如果存在,则将这个单元格的内容高亮显示。

                                          注意:在使用此宏之前,为了避免数据丢失,强烈建议先备份您的工作表。

                                          提示:如果您没有经验,可以考虑先学习 VBA 基础教程。

                                          帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                                          MockingbirdM 1 条回复 最后回复
                                          0
                                          回复
                                          • 在新帖中回复
                                          登录后回复
                                          • 从旧到新
                                          • 从新到旧
                                          • 最多赞同


                                          • 1
                                          • 2
                                          • 480
                                          • 481
                                          • 482
                                          • 483
                                          • 484
                                          • 576
                                          • 577
                                          Popular Topics - 热门主题
                                          • 蜜雪冰城 0撸券 速度支付宝
                                            E
                                            eve
                                            2
                                            2
                                            392

                                          • 免费 3个月 cursor 会员,大量链接
                                            S
                                            stef
                                            1
                                            6
                                            1.9k

                                          • 配合Perplexity账号无限生成 Cursor Pro会员链接JS脚本
                                            undefined
                                            1
                                            1
                                            340

                                          • 【接力贴】flowith 邀请码
                                            C
                                            captchaGPT
                                            0
                                            32
                                            216

                                          • 互联网大厂技术博客收集
                                            我是小马甲~M
                                            我是小马甲~
                                            0
                                            5
                                            213

                                          • 免费科技订阅30T流量
                                            L
                                            lin
                                            0
                                            4
                                            145

                                          • 登录

                                          • 没有帐号? 注册

                                          • 登录或注册以进行搜索。
                                          百度网盘
                                          1,244 个主题
                                          连续剧
                                          718 个主题
                                          国产剧
                                          576 个主题
                                          美剧
                                          348 个主题
                                          中国移动
                                          307 个主题
                                          动画片
                                          233 个主题
                                          中国电信
                                          222 个主题
                                          动作片
                                          208 个主题

                                          218

                                          在线

                                          40.2k

                                          用户

                                          39.9k

                                          主题

                                          110.3k

                                          帖子
                                          • 第一个帖子
                                            最后一个帖子