写一个excel的vba逻辑是检查H列的数据如果单元格内的数据中符合C+数字则将C+数字后面的字符覆盖到I列
的相应单元格中。
以下是一个可能的VBA代码实现:
Sub CheckAndCopy() Dim lastRow As Long lastRow = Range("H" & Rows.Count).End(xlUp).Row '获取数据最后一行的行号 Dim i As Long For i = 1 To lastRow '逐行遍历数据 Dim value As String value = Range("H" & i).Value '获取H列单元格的值 Dim regex As Object Set regex = CreateObject("VBScript.RegExp") '创建正则表达式对象 regex.Pattern = "C\d+" '设置匹配规则 If regex.Test(value) Then '如果匹配成功 Dim num As String num = regex.Execute(value)(0) '提取匹配的数字 Range("I" & i).Value = Mid(value, Len(num) + 1) '将后面的字符覆盖到I列 End If Next i End Sub
这个代码使用了VBScript.RegExp对象来进行正则表达式匹配,然后使用Mid函数将匹配的后面字符覆盖到I列。可以根据具体需求进行修改。
原文地址: http://www.cveoy.top/t/topic/biqv 著作权归作者所有。请勿转载和采集!