VBA提取单元格中以No开头的内容:结果位置错位问题求助
问题:提取单元格内容时的错位问题
我需要从单元格值中提取特定部分,预期效果如图所示。
最初的尝试代码
最初编写的VBA代码仅能返回整行,无法完成内容提取:
For Each item In arr pos = InStr(item, "No") If pos > 0 Then ActiveSheet.Range("B" & row).Value = item row = row + 1 Else ActiveSheet.Range("B" & row).Value = " N/A " row = row + 1 End If
更新后的代码及问题
当前使用的VBA代码运行后出现提取结果位置错位的问题(B4的内容应位于B5):
Sub cut() Call Variables Dim arr() As Variant Dim element As Variant Dim element2 As Variant Dim rows As Integer Dim rows2 As Integer arr = Array("test352532_No223", _ "testfrrf43tw_No345figrie_ge", _ "test123_No32_fer", _ "test_Nhuis34", _ "teftgef_No23564.345") With ThisWorkbook.Worksheets("Numbers").Activate rows = 1 rows2 = 1 For Each element In arr Range("A" & rows).Value = element With regEx .Pattern = "(No[1-9][\.\d]+[a-z]?)" Set mc = regEx.Execute(element) For Each element2 In mc ActiveSheet.Range("B" & rows2).Value = element2 rows2 = rows2 + 1 Next element2 End With rows = rows + 1 Next element End With End Sub
内容的提问来源于stack exchange,提问作者lemurdroid
相关产品推荐
相关产品推荐

