Q7. 다른 워크시트에 셀 값을 복사하는 방법? ①
아래와 같이 각 개인의 시트가 작성되어 국어, 수학, 영어 점수가 기재되어 있습니다.
이것을 하나의 시트에 집약해 나가는 매크로입니다.
최종적으로 집약시키는 시트는 이쪽입니다.
■ 포인트
이번 작성의 포인트는, 다른 시트의 정보를 어떻게 참조할까가 됩니다.
예를 들어 Range("C3").value라는 설명은 활성 워크시트에 대한 정보를 가져옵니다.
Worksheets("다나카").Range("C3").value 하면, 타나카 시트에 있는 C3 셀의 값을,
얻을 수 있습니다.
워크시트는 이대로 직접 이름을 지정할 수 있으며,
Worksheets(1) 같은 인덱스 번호로 지정할 수도 있습니다.
인덱스는 왼쪽에서 1부터 순서대로 할당됩니다.
다나카 시트는 왼쪽에서 세 번째로 있으므로,
Worksheets(3).Range("C3").value 라고 기술해도 같은 것이 됩니다.
다만, 인덱스 번호로 지정하는 경우는, 시트의 순서가 바뀌면
번호도 바뀌므로, 그 점은 주의를.
■답변
Sub Q7_Answer()
Worksheets("全体").Range("B3").Value = Worksheets("田中").Range("B3").Value
Worksheets("全体").Range("B4").Value = Worksheets("高橋").Range("B3").Value
Worksheets("全体").Range("B5").Value = Worksheets("山田").Range("B3").Value
Worksheets("全体").Range("C3").Value = Worksheets("田中").Range("C3").Value
Worksheets("全体").Range("C4").Value = Worksheets("高橋").Range("C3").Value
Worksheets("全体").Range("C5").Value = Worksheets("山田").Range("C3").Value
Worksheets("全体").Range("D3").Value = Worksheets("田中").Range("D3").Value
Worksheets("全体").Range("D4").Value = Worksheets("高橋").Range("D3").Value
Worksheets("全体").Range("D5").Value = Worksheets("山田").Range("D3").Value
Worksheets("全体").Range("E3").Value = Worksheets("田中").Range("E3").Value
Worksheets("全体").Range("E4").Value = Worksheets("高橋").Range("E3").Value
Worksheets("全体").Range("E5").Value = Worksheets("山田").Range("E3").Value
End Sub
■해설
해설도 빌어 먹도 없습니다. 단, 단순히 복사한 것만의 매크로입니다.
물론 이것은 좋은 예가 아닙니다.
다만, 이것으로도 이번 목적은 달성되고 있는 것입니다.
그래서 다음에 생각해야 할 것은 확장 성입니다.
마찬가지로 100인분의 데이터가 있을 때 효율의 차이가 여실히 나타납니다.
다만, 이렇게 적은 데이터의 경우는, 행수로서는 거기까지 변하지 않네요.
루프 처리를 도입함으로써, 보다 효율적으로 기술할 수 있게 됩니다.
효율적으로 기술할 수 있으면, 3명이라면, 100명이라면 행수는 거기까지 변하지 않습니다.
다음 번에 그들을 취급하겠습니다.
그러면 마지막 이번 결과를 올려 둡니다.
Reference
이 문제에 관하여(Q7. 다른 워크시트에 셀 값을 복사하는 방법? ①), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/guren111/items/fee23d03073cb9865878텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)