2016-09-28 6 views
0

이 VBA에 조금 붙어 있습니다. Havent는 잠시 동안 VBA를 마쳤으므로 어느 정도 느슨 함을 줄여야 할 수도 있습니다.값을 검색 한 다음 하나의 워크 시트에서 데이터를 전송하는 VBA

소개 내 조직의 여러 직원의 기술과 역량을 관리하는 문서 작업. 모든 셀 워크 시트는 동일한 레이아웃과 셀 구성을 가지고 있습니다.

Problem Statement 이 셀이 York 일 경우 하나의 특정 셀 (B2)을 공장 위치 (예 : York)로 검색하는 VBA가 필요합니다. "Yong"이라는 동일한 통합 문서에서 다른 워크 시트의 셀 범위에 값 목록 (예 : B2)을 복사하여 붙여 넣기해야합니다. 그런 다음 셀 값 York에 대한 모든 워크 시트 (모든 직원을 반복하면서 각 직원이 새 워크 시트를 갖게 됨)를 반복하고 워크 시트 York의 다음 빈 행에 해당 셀을 복사하여 붙여 넣습니다. 루프를 실행할 수 없지만 코드를 작성한 후에도 복사 붙여 넣기 기능을 사용할 수 없습니다.

누구나 도전하고 있습니다. 이것은 현재 코드입니다. 매우 가난한 나는 알고있다.

Sub testv2() 

Dim ws As Worksheet 
Dim sh As Worksheet 
Dim rng As Range 
Dim c As Range 

Set ws = Sheets("MATRIX - MASTER") 
"Matrix-master was template copy for all skills" 
Set rng = ws.Range("$B$2") 

For Each sh In Sheets 
    For Each c In rng.Cells 
     If rng.Value = "York" Then 
      ActiveWorkbook.Range("B1").Copy 
      Sheets("York").Select 
      ActiveWorkbook.Range("J6").Paste 
     End If 
    Next c 
Next sh 


End Sub 

아무런 도움이 필요하지 않습니다.

+0

다음과 같이 York : J6을 각 시트의 B1과 동일하게 만들기 만하면 붙여 넣기를 변경하지 않을 것입니다. 가능한 한 선택, 복사 및 붙여 넣기를 피하는 것이 좋습니다. 'Sheets ("York"). 범위 ("J6"). 값 = sh.Range ("B1") .Value (아마도 J6을 바꿀 때마다 변경합니다.). –

답변

0

나는 당신이 무엇을하고 싶은지 이해하지 못합니다.

  1. RNG가에 한 장 "$ B $ 2"의 하나 개의 셀에 설정되어있는 "MATRIX - MASTER" 이유는 각 당신에게 루프를합니까?

  2. 난 당신이 대신 작성, 표준 생각한다. ActiveWorkbook.Range ("J6") mamed 범위에서 사용하는 통합 문서 수준에서

ActiveSheet.Range("B1").Copy ' source 
ActiveWorkbook.Sheets("York").Range("J6").Paste ' target 

범위를 붙여 넣습니다.

  1. 피하시기 바랍니다. 선택 ... 필요한 경우 활성화를 사용하십시오.
+0

내 주요 문제는 모든 워크 시트를 루프하여 셀 B2의 값 "York"을 찾는 것입니다. 기준이 충족되면 셀을 복사하는 IF 함수를 만들 수 있습니다. 루프에 문제가 있습니다. 현재의 VBA를 무시하십시오. 모두가 혼란 스럽다고 생각합니다. –

관련 문제