2014-09-16 4 views
1

특정 시트의 조건이 두 시트에서 일치하는 경우 VBA를 사용하여 동일한 통합 문서의 한 시트에서 다른 시트로 셀을 복사하려고합니다.다른 셀의 기준에 따라 한 시트에서 다른 시트로 셀 복사

예 :!!!! =IF($A1=Sheet1!$A1, VLOOKUP(Sheet1!$A1, Sheet1!$A1:$D1, 2),"") 을하지만 VBA에서 작동하도록하기 위해 딱하다 : 만약 Sheet1의 A1 = Sheet2의 A1 다음 복사 Sheet1의 B1 시트 2하려면 내가 함수를 통해 그것을 할 수

B2. IF | ELSE 선언문에 대해 생각했지만 제대로 작동하지 못했습니다.

+0

그냥 셀을인가하거나 세포를 통해 루프를 원하는 것인가? – user184994

+0

죄송합니다 ... 세포를 통해 반복됩니다. –

답변

0

이 당신을 위해 작동합니다 :

For Counter = 1 To 10 
    If Sheets(1).Range("A" & Counter).Value = Sheets(2).Range("A" & Counter).Value Then 
     Sheets(2).Range("B" & (Counter + 1)).Value = Sheets(1).Range("B" & Counter).Value 
    End If 
Next Counter 
0
Sub copyToSheet() 
For i = 1 To 10 
    If ThisWorkbook.Worksheets("sheet1").Range("A1").Offset(i - 1, 0).Value = ThisWorkbook.Worksheets("sheet2").Range("A1").Offset(i - 1, 0).Value Then 
    ThisWorkbook.Worksheets("sheet2").Range("A1").Offset(i - 1, 1) = ThisWorkbook.Worksheets("sheet1").Range("A1").Offset(i - 1, 0).Value 
    End If 
    Next i 
End Sub 
+0

그것은 Sheet2의 첫 번째 데이터 세트를 통해 반복 한 다음 중단하고 시트의 끝까지 계속되지 않는 것 같습니다. 끝날 때까지 시트 2를 반복하면서 계속하려면 무엇을 할 수 있습니까? –

+0

"10"을 데이터의 마지막 셀로 바꾸거나 변수와 첫 번째 데이터 셀과 마지막 데이터 셀 사이에 빈 셀이없는 경우 'ThisWorkbook.Worksheets ("sheet2"). Range ("A1") .End (xlDown) .Row' – hedgedandlevered

+0

내가 그것을 할 때 그냥 첫 번째 "설정"및 다음 중지합니다 ... Sheet1 값을 반복하고 Sheet2에 일치하는 Sheet1에있는 각 행의 첫 번째 바꾸기 그 다음에 멈 춥니 다. –

관련 문제