
저는 엑셀로 데이터를 많이 옮기는데요. 많은 무작위 셀을 다른 위치에 복사하여 나란히 놓을 수 있기를 원합니다.
예를 들어 a3,d21,aa32,cd121 등을 복사하고 싶습니다. a3->a1000,d21->b1000,aa32->c1000 등이 됩니다.
하나씩 복사하고 무작위 셀 각각을 찾는 데 오랜 시간이 걸리며 앞뒤로 이동하는 것 외에 이를 수행할 수 있는 쉬운 방법이 있습니까?
제가 바라는 답변은 다음과 같습니다. 이 셀(a3,d21 등)을 찾아 한 번에 하나씩 선택하여 모두 순서대로 선택되도록 합니다. 그런 다음 "일부 명령"을 수행하고 a1000을 클릭하면 모두 나란히 복사됩니다.
Excel에서 이러한 종류의 작업을 수행할 수 없는 경우 복사 중인 "임의" 셀이 동일한 행에 있고 고정된 거리로 분리되어 있으면 어떻게 될까요? 예: (3개 간격) a6,d6,g6,j6,m6 등. -> a10,b10,c10 등.
2 부.)
나란히 복사하는 대신 양의 정수 k에 대해 k 열이 떨어져 있도록 복사하고 싶다면 어떻게 될까요?
예: (k=4) a3,d21,aa32,cd121 등. -> a1000,e1000,i1000,m1000,q1000 등.
또는 이것이 가능하지 않다면 j에서 k만큼 떨어져 있는 같은 행의 셀은 어떻습니까?
예(j=3,k=4) a6,d6,g6,j6,m6 등. -> a10,e10,i10,m10,q10 등.
답변1
VBA는 당신의 친구입니다. 어떤 이유로 VBA가 옵션이 아닌 경우 화면을 분할하여 상단의 소스 셀과 하단의 대상 셀을 볼 수 있습니다(또는 그 반대로).
세로로 분할(가로선 기준):
반대:
4개의 별도 화면으로 구성된 최종 결과:
답변2
VBA를 사용해 본 적이 없다면 샘플 코드를 제공하겠습니다. 귀하의 질문에는 많은 옵션이 있으므로 코드를 분석한 후 귀하의 필요에 맞게 조정할 수 있을 것이라고 확신합니다. 저도 여러분의 학습에 도움이 되도록 댓글을 달았습니다.
먼저 새 모듈(끼워 넣다>기준 치수)
그런 다음 코드를 안에 넣으세요.
Option Explicit ' no matter what, this is a must have line in every case
Sub test()
' declaring variables
Dim rngSource As Range
Dim rngTarget As Range
Dim i As Long
Const k As Long = 4 ' this is the k from your example
Dim cell As Range
' choosing source cells
Set rngSource = Application.InputBox(prompt:="Choose cells, use Ctrl", Type:=8)
' choosing destination cell
Set rngTarget = Application.InputBox(prompt:="Select the 1st target cell", Type:=8)
' iterating through every cell in Source selection
i = 0
For Each cell In rngSource
' writing value
rngTarget.Offset(0, i).Value = cell.Value
i = i + k
Next
End Sub
어떤 이유로 여기서는 색상을 볼 수 없습니다. 하지만 VBE에서는 볼 수 있습니다.
행운을 빌어요!