vba在找到文本后复制文本
帮助我在下面的代码中添加循环。到目前为止,代码只复制单元格“26002354”中文本的第一个匹配项。我希望它复制一个单元格中的所有匹配项,然后再下一个单元格 假设-在文本中,我有树匹配(所有文本在一个单元格中): 26002354 26008541 26009841 所有这些我都需要在右边排成一行vba在找到文本后复制文本,vba,excel,Vba,Excel,帮助我在下面的代码中添加循环。到目前为止,代码只复制单元格“26002354”中文本的第一个匹配项。我希望它复制一个单元格中的所有匹配项,然后再下一个单元格 假设-在文本中,我有树匹配(所有文本在一个单元格中): 26002354 26008541 26009841 所有这些我都需要在右边排成一行 Sub extract() Dim r As Long, dashpos As Long, m As Long Dim ws As Worksheet Set ws = Wo
Sub extract()
Dim r As Long, dashpos As Long, m As Long
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")
m = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
For r = 2 To m
dashpos = InStr(1, Cells(r, 1), "2600")
Cells(r, 2).Value = Mid(Cells(r, 1), dashpos, 14)
Cells(r, 3).Value = Mid(Cells(r, 1), dashpos, 14)
Cells(r, 4).Value = Mid(Cells(r, 1), dashpos, 14)
Next
End Sub
您的预期结果有点不清楚,但要从包含“26002354 26008541 26009841”的a列中获得B:D列中的三个8位数字,请使用拆分
Sub extract()
Dim r As Long
with Worksheets("Sheet1")
For r = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
.Cells(r, 2).resize(1, 3) = split(Cells(r, 1).value2, chr(32))
Next
end with
End Sub
我不明白。。。如果您想要完整的文本,那么为什么要使用
Mid
?还是我只是弄错了。。?只是张贴一个你的预期结果的模型请。。。这样就不那么容易混淆了拆分空格上的单元格值以获得三个部分(并限定单元格的父级)。由于要拆分为下三列,因此也可以使用TextToColumns。很抱歉混淆了。[1] :以下是预期结果的示例。我只想在文本中提取那些从“2600”(整个bumber看起来像26003400699010)开始的单词和数字,然后复制到右边的一行。正确的图片