두 개의 스프레드 시트가 있습니다. 첫 번째 스프레드 시트에는 부품 번호와 설명이 같은 열에 있지만 연속적인 행에 있습니다. 먼저 부품 번호와 설명을 첫 번째 스프레드 시트에서 가져 와서 두 번째 스프레드 시트에이 부품을 바꿔서 (값만, 형식이 없음) 부품 번호와 설명이 행 대신 연속 열에 있어야합니다. 이 작업을 돕기 위해 Worksheet_Change() 함수에 다음 VBA 코드를 추가했습니다.Excel Transpose 중복 항목 제거
If Not Application.Intersect(Target, MatNumDesc) Is Nothing Then
If Application.CutCopyMode = xlCopy Then
Application.Undo
Target.PasteSpecial Paste:=xlPasteValues, Transpose:=True
End If
End If
MatNumDesc는 부품 번호에 붙여 넣을 셀 범위입니다. 내가 2 + 소재 및 설명이 모두 잘 작동하는 경우 내 문제는 오직 하나의 재료와 설명입니다. 이 경우 중복되지 않는 항목이있어서 원하지 않습니다.
분명히하기 위해 별도의 파일 인 두 스프레드 시트간에 값을 수동으로 복사하여 붙여 넣습니다 (Ctrl-C 및 Ctrl-V 사용). 나는 VBA 코드를 사용하여 하나의 시트에서 다른 시트로 복사하려고 시도하지는 않습니다. 왜냐하면 그럴 가치가없는 이유는 제 설정대로 작동하지 않기 때문입니다.
또한 내가 관찰 할 수 있었던 것부터 내가 직면하고있는 실제 문제는 기본 Excel 동작과 관련이 있습니다. 복사 한 것은 2 행 1 열의 데이터입니다. 옮겨 놓으면 2 열 1 행이되지만 .Application.Undo
작업이 실행 된 후 2 행 2 열이 선택되어 Excel에서 .PasteSpecial
작업을 실행합니다. 적어도 내가 관찰 할 수 있었던 것에서.
나는 "Target.PasteSpecial"을'.Range ("G"& Target.Row) .PasteSpecial'로 바꾸려고 노력했다. 그것은 지금까지 일하는 것 같다. – Aerogems