遍历工作表2并将特定值复制到工作表1上的指定列中

我创build了下面的循环来search任何以“R”开始的值加上一个长度为10个字符的特殊字符,并将它们粘贴到另一个表格的第1列的下一个空白单元格中。 我现在需要开发此代码来复制sheet2上以R开始的任何值,并将它们粘贴到sheet1上的第1列(A)中,并复制在sheet2上以数字数字开头的任何值,然后将它们粘贴到sheet1上的第4列(D)

“R”值将与数值相关联。 例如,在Sheet2上,A1可以是R000000_01,B1(如果存在值)可以是12345,则需要将这两个复制到A3和D3中,如上所述

这是我迄今创造的:

EnvRange = "A2:R999" RowNo = 3 For Each C In Worksheets("Sheet2").Range(EnvRange) If Len(C.Value) < 10 Then GoTo NextCell ElseIf Len(C.Value) < 11 Then Worksheets("Sheet1").Cells(RowNo, 1).Value = C RowNo = RowNo + 1 Else Chars = InStr(1, C, "R") Do While Chars < Len(C) Worksheets("Sheet1").Cells(RowNo, 1).Value = Mid(C, Chars, 10) Chars = InStr(Chars + 9, C, "R") RowNo = RowNo + 1 If Chars = 0 Then GoTo NextCell Loop End If NextCell: Next C 

在这个问题上你的帮助将非常感激。 先谢谢你。

你可以用Like来检查格式:

 Sub Tester() Const ENV_RNG As String = "A2:R999" Dim c As Range, RowNo As Long, sht As Worksheet Set sht = Worksheets("Sheet1") RowNo = 3 For Each c In Worksheets("Sheet2").Range(EnvRange) If c.Value Like "R?????????" Then sht.Cells(RowNo, 1).Value = c.Value sht.Cells(RowNo, 4).Value = c.Offset(0, 1).Value RowNo = RowNo + 1 End If Next c End Sub