写一个excel的vba逻辑是检查H列的数据不限字符数不区分大小写找到单元格中符合C+数字后面的字符并剪切然后黏贴到L
列同行单元格中,如果没有找到符合条件的字符则不进行任何操作。
以下是实现该逻辑的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”后面必须跟一个数字,而不限制数字的位数。如果需要对数字的位数进行限制,可以在代码中进行相应修改。
原文地址: https://www.cveoy.top/t/topic/bi7c 著作权归作者所有。请勿转载和采集!