2016-06-21 2 views
2

"R"로 시작하는 값과 10 자 길이의 특수 문자를 검색하여 다음 빈 다른 시트의 열 1에있는 셀. 이제이 코드를 개발하여 sheet2의 R로 시작하는 값을 복사하여 sheet1의 1 열 (A)에 붙여넣고 sheet2의 숫자로 시작하는 값을 복사하여 sheet1의 4 열 (D)에 붙여 넣으십시오.시트 2를 반복하고 시트 1의 지정된 열에 특정 값을 복사하십시오.

"R"값은 숫자 값과 연결됩니다. 예를 들어, 시트 2에 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 

이 문제에 대한 귀하의 도움은 대단히 감사하겠습니다. 미리 감사드립니다.

답변

3

당신은 형식 확인 Like을 사용할 수 있습니다 : 내가 따라 '각 C에서 ...`방법을 사용하여 날짜와 장소 값을 확인하는 데 사용하는 매우 유사한 서브가

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 
+0

을하고 그것을 작동 완벽하게 – Vbasic4now

+0

우수! @ Tim Williams에 감사드립니다! 이것은 매력처럼 작동했습니다! – Paul

관련 문제