You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 22:09:15