列同行单元格中,如果没有找到符合条件的字符则不进行任何操作。

以下是实现该逻辑的VBA代码:

Sub CutAndPaste() Dim lastRow As Long lastRow = Cells(Rows.Count, "H").End(xlUp).Row

Dim i As Long
For i = 1 To lastRow
    Dim cellValue As String
    cellValue = LCase(Cells(i, "H").Value)
    
    If InStr(cellValue, "c") > 0 Then
        Dim numPos As Long
        numPos = InStr(cellValue, "c") + 1
        
        Dim strLength As Long
        strLength = Len(cellValue) - numPos + 1
        
        Dim afterC As String
        afterC = Mid(cellValue, numPos, strLength)
        
        If IsNumeric(afterC) Then
            Dim cutRange As Range
            Set cutRange = Cells(i, "H")
            
            Dim pasteRange As Range
            Set pasteRange = Cells(i, "L")
            
            cutRange.Cut pasteRange
        End If
    End If
Next i

End Sub

该代码首先获取H列的最后一行,然后循环遍历每一行。对于每一行,它会将H列单元格的值转换为小写,并检查其中是否包含字符“c”。如果包含,则查找“c”后面的字符并判断它是否为数字。如果是数字,则将该单元格剪切,并将其黏贴到同行的L列单元格中。

需要注意的是,该代码中的匹配逻辑只要求“C”后面必须跟一个数字,而不限制数字的位数。如果需要对数字的位数进行限制,可以在代码中进行相应修改。

写一个excel的vba逻辑是检查H列的数据不限字符数不区分大小写找到单元格中符合C+数字后面的字符并剪切然后黏贴到L

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

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