약 800 개의 레코드가있는 하나의 데이터 열이 있습니다. 각 18 셀은 하나의 레코드입니다. 나는 매 18 셀을 가져 와서 행을 동적으로 바꾸는 스크립트가 필요합니다. 심지어 열에서 행까지 18 개의 레코드를 바꿀 수있는 수식을 작성하는 방법도 필요합니다.하나의 열을 여러 행으로 바꾸기
-1
A
답변
1
완벽한 솔루션을 요구하는 것보다 오히려 걸리는 시간을 물어 보는 것이 좋을 것이므로 "뭘 했니?"라는 질문을 받게 될 것입니다. 그것이 말하게되면서, 나는 당신에게 당신을 시작하게하는 약간의 팁을 제공 할 수있다.
VBA에서이 작업을 수행하려면 첫 번째 셀에서 시작하여 해당 셀과 다음 18 개의 행으로 구성된 범위를 가져온 다음 통합 문서의 다른 시트 (아마도)에 붙여 넣은 다음이를 옮겨야합니다 열에서 행으로. 그러면 루프가 19 개의 셀을 오프셋하고 다시 시작합니다. Unable to write a Macro for Excel VBA to copy a specific cell value to the next blank rows
당신과 다소 유사한 루프를하고 당신에게 구문을 줄 것이다 :
내가이 스레드에서 준 대답을 살펴보십시오.붙여 넣기/조바꿈을 수행하는 구문을 얻으려면 수동으로 수행하고 매크로 레코더를 사용하여 동작을 기록하십시오. 개발자 탭에서 찾을 수 있습니다. (개발자 탭이 보이지 않으면 파일 -> 옵션 -> 리본 사용자 정의로 이동하여 개발자 탭을 켜십시오.)
시도해보십시오. 당신이 붙어있는 곳의 세부 사항을 가지고 다시 게시하십시오.
0
이 VBA 코드를 사용하여이를 수행 할 수 있습니다.
Public Sub TransposePaste()
'Value we want to step by....
Dim stepVal As Long
stepVal = 18
'Declare start row variable (-1)
Dim row As Long
row = 0
'Declare the column the data is coming from
Dim col As Long
col = 1
'Declare and set worksheet
Dim ws As Worksheet
Set ws = Sheet1
'end row of the data
Dim endRow As Long
endRow = ws.Cells(ws.Rows.Count, col).End(xlUp).row
'cycle to end of data end of data...
For i = 1 To endRow Step stepVal
'increment row each time
row = row + 1
'cycle through the columns outputting the data
For j = 1 To stepVal
Sheet1.Cells(row, j).Value = Sheet1.Cells(i + j - 1, col).Value
Next j
Next i
최종 하위
관련 문제
- 1. 하나의 열을 여러 행으로 나누십시오.
- 2. 여러 열을 행으로 변환
- 3. 표 또는 DIV 열을 여러 행으로 묶기
- 4. 여러 행을 하나의 행으로 결합
- 5. 여러 집계 쿼리를 하나의 행으로
- 6. 하나의 행을 여러 행으로 변환하십시오.
- 7. 여러 행 (가변) 행을 여러 행으로 된 하나의 행으로 그룹화합니다.
- 8. 열을 행으로 설정하는 방법
- 9. Mysql - 여러 행을 하나의 행으로 대체하십시오.
- 10. ColdFusion - 열을 행으로 표시
- 11. 여러 SQL 필드를 하나의 출력 행으로 결합
- 12. 여러 자식 행을 하나의 행으로 결합 MYSQL
- 13. GridView 스크롤 하나의 행으로
- 14. SQL 서버에서 열을 행으로 변환
- 15. 커서를 사용하여 열을 행으로 변환
- 16. SQL 열을 ID가있는 행으로 변환
- 17. SQL 쿼리 테이블에 열을 행으로 이동하려면 플러스
- 18. 오라클 - 왼쪽 조인을 통해 열을 여러 행으로 결합
- 19. TSQL : 한 열을 세미콜론으로 구분 된 값으로 여러 행으로 분할
- 20. MySQL은 ExtractValue (XML, 'Value/Values')를 사용하여 여러 값을 가져옵니다 (하나의 열을 행으로 분할 함)
- 21. SQL Server 2005에서 여러 개의 열을 하나의 쉼표로 구분 된 행으로 반환하십시오.
- 22. CSS : 오버플로 항목을 새 행으로 바꾸기
- 23. jquery : 여러 함수를 하나의 플러그인으로 바꾸기
- 24. 여러 행으로 이어지는 탭
- 25. sql 여러 열을 하나의 열로 선택하십시오.
- 26. SQLServer는 하나의 결과에 대해 여러 열을 인덱싱합니다.
- 27. 하나의 변수로 여러 열을 검색하는 방법
- 28. YUI Datatable - 여러 열을 하나의 열로 병합
- 29. Excel - 여러 열을 하나의 열로 결합
- 30. 문자열을 SQL의 여러 행으로 분할
안녕하세요, SO에 오신 것을 환영합니다. 우리는 사람들을 돕는 것을 좋아하지만, 당신이 시도한 것을보아야합니다. 이것은 당신이 문제가 있다는 것을 증명하고 여기에 복사 - 붙여 넣기 코드를 얻기위한 것이 아닙니다. – rcdmk
데이터가 A1에서 시작되면 B1에 다음을 입력하십시오.'= IF (MOD (ROW(), 18) = 1, OFFSET ($ A1, COLUMN() - 2,0), "")' 18 개의 열을 채운 다음 아래로 800 개의 행을 덮으십시오. –
Tim의 아이디어는 우아한 아이디어이며 작동해야합니다.하지만 800 행이 포함 된 식의 공식 기반 솔루션을 사용하는 것을 꺼려합니다. 귀하의 PC 속도에 따라 다르지만 Excel에서 많은 것을 던지면 찾아보기와 같은 공식이 갈리는 경향이 있습니다. 이 경로를 사용하면 계산을 한 번 수행하고 수식 블록을 복사하여 값으로 붙여 넣을 수 있습니다. –