source

Excel VBA - 범위전치 페이스트 복사

itover 2023. 4. 22. 09:22
반응형

Excel VBA - 범위전치 페이스트 복사

의 도움말 메뉴를 팔로우하고 있습니다.PasteSpecial에러 없이 코드를 사용할 수 없는 것 같습니다.

가져가고 싶다Worksheets("Sheet1").Range("A1","A5")전치하여 붙여넣기Worksheets("Sheet2").Range("A1","E1").

이를 실현하는 가장 간단한 방법은 무엇입니까?

Worksheets("Sheet1").Range("A1:A5").Copy
Worksheets("Sheet2").Range("A1").PasteSpecial Transpose:=True

클립보드를 사용하지 않는 효율적인 옵션이 있습니다.

Sub transposeAndPasteRow(rowToCopy As Range, pasteTarget As Range)
    pasteTarget.Resize(rowToCopy.Columns.Count) = Application.WorksheetFunction.Transpose(rowToCopy.Value)
End Sub

이렇게 쓰세요.

Sub test()
    Call transposeAndPasteRow(Worksheets("Sheet1").Range("A1:A5"), Worksheets("Sheet2").Range("A1"))
End Sub

워크시트 함수 전치()

Paste Special을 통해 복사, 붙여넣기 및Transpose수식을 입력하기만 하면 됩니다.

    =TRANSPOSE(Sheet1!A1:A5)

또는 VBA를 원하는 경우:

    Dim v
    v = WorksheetFunction.Transpose(Sheet1.Range("A1:A5"))
    Sheet2.Range("A1").Resize(1, UBound(v)) = v

참고: 대신 late-bound를 사용할 수도 있습니다.

MS 도움말 레퍼런스에서는 현재 버전의 Microsoft 365를 사용하고 있는 경우, 타겟 범위의 왼쪽 상단 셀에 수식을 입력하기만 하면 됩니다.수식을 확인하려면 Ctrl+Shift+Enter를 사용하여 레거시 배열 수식으로 입력해야 합니다.

Excel 버전2007+, 2011년 이후 Mac, Microsoft 365용 Excel

언급URL : https://stackoverflow.com/questions/8852717/excel-vba-range-copy-transpose-paste

반응형

'source' 카테고리의 다른 글

Windows 재귀 GREP 명령줄  (0) 2023.04.22
환경변수를 인쇄/반향하는 방법  (0) 2023.04.22
XAML에서의 TimeSpan 포맷 방법  (0) 2023.04.22
선택한 ListBox 항목의 배경색 변경  (0) 2023.04.22
ICommand MVVM 구현  (0) 2023.04.22