我有一个包含数百行的 .xlsm 文档,我想根据 B 列设置 C 列的值。
例如:B1 包含“+ 新节点‘145872-12547-4885’已创建”
我的目的是使用一个宏来提取,该宏循环所有行,只是两个“'”之间的文本..在这种情况下——145872-12547-4885——
提前致谢,
Sub extract()
Dim N As Long, i As Long, j As Long
N = Cells(Rows.Count, "B").End(xlUp).Row
j = 1
For i = 1 To N
If Left(Cells(i, "B"), 11) = " + New node" Then
Cells(j, "C").Value = Mid(Cells(i, "B"), InStr(1, Cells(i, "B").Value, "'") + 1, Len(Cells(i, "B")) - InStr(1, Cells(i, "B").Value, "'") - 1)
j = j + 1
End If
Next i
End Sub
谢谢,但我还是有一些麻烦,
我希望提取物位于包含原始值的单元格前面,但事实并非如此:
在此处输入图像描述, 因为我也需要提取以“SEL_AFFILIATE”结尾的单元格开头的代码,我不知道如何使用 SPLIT 这是我的代码:
Sub extract()
Dim N As Long, i As Long, j As Long, s As String
N = Cells(Rows.Count, "B").End(xlUp).Row
j = 1
For i = 1 To N
s = Cells(i, "B").Text
If Left(s, 11) = " + New node" Then
Cells(j, "C").Value = Split("'" & s, "'")(2)
j = j + 1
End If
'If Right(s, 14) = "SEL_AFFILIATE " Then
' Cells(j, "C").Value = Split("" & s, ".")(2)
' j = j + 1
'End If
Next i
End Sub