선택한 행을 다른 워크시트에 복사

선택한 행을 다른 워크시트에 복사

예를 들어 있습니다. 하나의 워크시트에 10개의 행이 있습니다. 사용자가 한 행을 클릭하면 해당 행이 다른 워크시트에 표시되어야 합니다. 가능합니까? 그렇게 하는 데 도움이 되나요?

편집하다: 명확히 하기 위해: 첫 해 학생 시험 점수의 예를 한 장에 제시합니다: John 10 8 10 7 Nick 8 9 8 9 Maria 7 8 8 7

두 번째 시트에는 2학년 학생 정보가 있습니다: John 9 9 10 8 Nick 8 8 9 7 Maria 7 6 8 8

나는 학생에게 일종의 최종 인증서를 제공하고 싶기 때문에 요약 정보가 세 번째 시트에 표시되어야 합니다. 클릭할 필요가 없습니다. 세 번째 시트에는 드롭다운 목록이 있을 수 있습니다.

답변1

이를 수행하는 빠른 매크로는 다음과 같습니다.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  With Sheet2.UsedRange
    'note, this won't copy to row 1, leaving headers intact.
    Target.EntireRow.Copy (.Rows(.Rows.Count + 1).EntireRow)
  End With
End Sub

그러나 선택 변경과 함께 사용하는 것은 다른 셀을 선택할 때마다 실행되기 때문에 매우 짜증날 수 있습니다. 따라서 일종의 백체크나 이를 실행하는 다른 방법을 사용하는 것을 고려해 볼 수 있습니다.

코드를 사용자 정의 매크로로 사용하고 단축키를 할당할 수도 있습니다.

편집하다

수식만을 사용하여 이 작업을 수행하려면 대상 행의 각 셀을 수식으로 설정해야 합니다. 물론 수식이 있는 셀을 제외하고 수식을 사용하여 셀을 직접 변경할 수 있는 방법은 없습니다.

그렇다면 내 제안은 명명된 범위, VLOOKUP 또는 MATCH를 사용하는 것입니다.

명명된 범위는 귀하가 언급한 내용과 매우 유사할 수 있습니다.

대상 시트에서:

A1=14

A2=MYRANGE
B2=MYRANGE
.
.
.
IV2=MYRANGE

MYRANGE는 다음과 같이 정의됩니다.

=INDIRECT("SourceSheet!"&DestSheet!$A$1&":"&DestSheet!$A$1)

그러면 대상 시트의 14행이 제공됩니다. A1이 SourceSheet에 있는 경우에도 작동합니다. 그에 따라 편집하면 됩니다.

두 가지 명명된 범위를 쉽게 사용할 수 있습니다.

MYDESTRANGE=SourceSheet!MYSOURCERANGE

MYSOURCERANGE를 다른 행으로 변경하면 이전과 동일한 행을 사용하면서 MYDESTRANGE의 소스를 효과적으로 변경할 수 있습니다.

관련 정보