반응형
전체 어레이를 VBA에서 루프하지 않고 붙여넣는 방법은 무엇입니까?
배열을 채울 이 코드가 있습니다.
Sub rangearray()
Dim arr() As Variant
Dim Rng As Range
Dim myCell As Range
Dim i As Integer
Set Rng = ActiveSheet.Range("G10:G14")
For Each myCell In Rng
ReDim Preserve arr(i)
arr(i) = myCell
i = i + 1
Next myCell
ActiveSheet.Range("H10:H14") = arr()
End Sub
여기서 시계 창의 값이 로드된 값임을 확인할 수 있습니다.
단, 배열을 워크북에 다시 추가하면 배열의 첫 번째 요소만 붙여넣습니다.
배열을 반복하지 않고 전체 배열을 워크시트에 붙여넣을 수 있습니까?
Sorceri에서 링크를 보고 사용할 코드로 수정했습니다.함수를 전환하여 수정된 코드를 다음과 같이 표시합니다.
Sub rangearray()
Dim arr() As Variant
Dim Rng As Range
Dim myCell As Range
Dim i As Integer
Set Rng = ActiveSheet.Range("A1:A5")
For Each myCell In Rng
ReDim Preserve arr(i)
arr(i) = myCell
i = i + 1
Next myCell
ActiveSheet.Range("B1:B5") = WorksheetFunction.Transpose(arr)
End Sub
위의 설명에서 언급했듯이, 수행하려는 작업을 수행하기 위해 어레이가 필요하지는 않지만 어레이 솔루션만 원한다면 어레이를 루프로 채우는 먼 길을 갈 필요가 없습니다.범위 값을 배열에 직접 할당합니다.그것은 당신이 바꿀 필요가 없는 2D 배열을 만들 것입니다.
Sub rangearray()
Dim arr
Dim Rng As Range
With ActiveSheet
Set Rng = ActiveSheet.Range("G10:G14")
arr = Rng.Value
.Range("H10").Resize(UBound(arr, 1)).Value = arr
End With
End Sub
워크시트 전치 함수를 사용할 수 있습니다.
아래를 참조하십시오.범위 값에 할당해야 합니다.
Sub rangearray()
Dim arr() As Variant
Dim Rng As Range
Dim myCell As Range
Dim i As Integer
Set Rng = ActiveSheet.Range("A1:A5")
For Each myCell In Rng
ReDim Preserve arr(i)
arr(i) = myCell
i = i + 1
Next myCell
ActiveSheet.Range("B1:B5").Value = WorksheetFunction.Transpose(arr)
End Sub
방금 Rng에게 arr을 할당하고 시트에 다시 넣었습니다.Excel 2016에서 작동합니다.
Sub rangearray()
Dim arr() As Variant
Dim Rng As Range
Dim myCell As Range
Dim i As Integer
Set Rng = ActiveSheet.Range("A1:A5")
arr = Rng
ActiveSheet.Range("B1:B5").Resize(5) = arr
End Sub
언급URL : https://stackoverflow.com/questions/19300555/how-to-paste-a-whole-array-without-looping-through-it-in-vba
반응형
'programing' 카테고리의 다른 글
도커 컨테이너의 GPU를 사용하시겠습니까? (0) | 2023.09.05 |
---|---|
푸시 시그 대신 뷰 컨트롤러를 교체하거나 탐색 스택에서 제거하는 방법은 무엇입니까? (0) | 2023.09.05 |
다음을 사용하여 테이블만 만드는 방법다음을 사용하여 테이블만 만드는 방법다음을 사용하여 테이블만 만드는 방법태그 및 CSS (0) | 2023.09.05 |
어떤 버전의 nltk, scikit learn이 설치되어 있는지 어떻게 확인합니까? (0) | 2023.09.05 |
MySQL : 청크별로 큰 선택 항목 검색 (0) | 2023.09.05 |