Excel VBA: 删除H列单元格中 'C+' 后面的字符

本 VBA 代码用于检查 Excel 工作表 H 列中的每个单元格,找到包含 'C+' 字符的单元格,并删除 'C+' 后面的所有字符。

Sub RemoveCharactersAfterC()
    Dim lastRow As Long
    lastRow = ActiveSheet.Cells(Rows.Count, "H").End(xlUp).Row '获取最后一行的行号
    
    Dim i As Long
    For i = 1 To lastRow '循环遍历每一行
        Dim cellValue As String
        cellValue = ActiveSheet.Range("H" & i).Value '获取当前单元格的值
        
        Dim pos As Integer
        pos = InStr(1, cellValue, "C") '查找第一个C的位置
        
        If pos > 0 Then '如果找到了C
            Dim j As Integer
            For j = pos + 1 To Len(cellValue) '从C的位置开始往后遍历每一个字符
                If Not IsNumeric(Mid(cellValue, j, 1)) Then '如果当前字符不是数字
                    ActiveSheet.Range("H" & i).Value = Left(cellValue, j - 1) '截取C及其之前的字符
                    Exit For '退出循环
                End If
            Next j
        End If
    Next i
End Sub

代码逻辑:

  1. 获取 H 列最后一行的行号。
  2. 循环遍历 H 列中的每个单元格。
  3. 在每个单元格中查找第一个 'C' 的位置。
  4. 如果找到 'C',则从 'C' 的下一个字符开始遍历,直到遇到非数字字符为止。
  5. 将 'C' 及其之前的字符截取出来,并更新单元格的值。

使用方法:

  1. 打开 Excel 工作簿,并选择包含需要处理数据的 H 列。
  2. 按 Alt+F11 键打开 VBA 编辑器。
  3. 在 VBA 编辑器中,插入一个新的模块 (Module)。
  4. 将上面的代码粘贴到新的模块中。
  5. 点击运行按钮 (绿色三角形) 运行代码。

注意:

  • 该代码只处理 H 列的数据。如果需要处理其他列,请修改代码中的列号。
  • 该代码假设 'C+' 后面是数字。如果 'C+' 后面是其他字符,代码需要进行调整。
  • 运行代码前请备份工作簿,以免出现意外数据丢失。
Excel VBA: 删除H列单元格中 'C+' 后面的字符

原文地址: https://www.cveoy.top/t/topic/mLxL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录