값이 일치하는지 여부에 따라 sheet2에서 sheet1로 복사

값이 일치하는지 여부에 따라 sheet2에서 sheet1로 복사

이 코드의 목표는 의 열을 반복하여 sheet1각 값이 의 행에 있는 값과 일치하는지 확인하는 것입니다 sheet2. 값이 일치하면 sheet2위에서 부터 sheet1해당 시점의 특정 행까지 5개의 정보 행을 복사합니다.

문제:

  • if 문이 있는 첫 번째 행에서 오류 1004가 발생했습니다.
  • Next b나는 또한 오류를 던질 것이라고 생각한다

VBA 코드:

For i = 8 To 17
    For b = 7 To 21
        If Sheets("Sheet1").Range(i, 2).Value = Sheets("Sheet2").Range(b, 1).Value Then
        Sheets("Sheet2").Range("b,1:b,7").Copy Sheets("Sheet1").Range(i, 6)
        Next b
        End If
Next i

답변1

범위의 행과 열을 숫자로 지정하려면 Cells대신 를 사용해야 합니다 Range. 또한 귀하 Next b의 줄이 중첩된 문 안에 있기 때문에 오류가 발생합니다 If. 대신 을 사용하여 Exit ForFor 루프를 종료하고 명령문 Next b외부로 이동해야 합니다 If.

For i = 8 To 17
    For b = 7 To 21
        If Sheets("Sheet1").Cells(i, 2).Value = Sheets("Sheet2").Cells(b, 1).Value Then
            Range(Sheets("Sheet2").Cells(b, 1), Sheets("Sheet2").Cells(b, 7)).Copy Sheets("Sheet1").Cells(i, 6)
            Exit For
        End If
    Next b
Next i

관련 정보