나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 ist공원 (istpark)

추천:  2
파일:     행열바꾸기_.xls (51.5KB) 조회:  2703
제목:   [RE]행열 바꾸는 방법 (대용량 데이터)
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

1. 엑셀 버전(95,97,2000,2002):
2. 윈도우즈의 버전(win95,win98,winME,winNT,win2000,winXP):
3. CPU (486,PentiumI/II/III/IV...):
4. RAM (32,64,128,256,512MB,1G...): 

* 아래줄에 질문을 작성하세요 >>

 1. 엑셀 97
 2. win 98
 3. P III
 4. 512 MB

 행렬바꾸기입니다. 
 상하로 되어있는 데이터들을 
 좌우의 형태로 데이터들을 가져오는 방법이 궁금합니다.
 (데이터가 수 만개이고 크기가 불규칙합니다.)

     A  B
      
 1   P  2
 2   P  3 
 3   P  4 
 4   S  2
 5   S  4
 6   K  2
 .   .  .
 .   .  . 
 .   .  .

 이런형태로 키필드인 A의 값들이 중복이 있습니다.
 이것을

   A  B  C  D  E  .........

1  P  2  3  4
2  S  2  4
3  K  2  .   .   . .  .. . .

5


 감사합니다.  끝.

 02-787-1126
==============[데미안님 글에 대한 답변입니다]==============
아래의 매크로를 이용해 보세요
첨부화일 참조하세요


'//우선 이름순으로 정렬되어 있어야 함
Sub 행열바꾸기()
    Dim rngSrc As Range
    Dim rngTar As Range
    
    Set rngSrc = ActiveSheet.Range("b7")
    Set rngTar = ActiveSheet.Range("f7")
    
    While Not IsEmpty(rngSrc)
        rngSrc.Select
        If rngSrc Like rngTar Then
            rngTar.End(xlToRight).Offset(0, 1) = rngSrc.Offset(0, 1)
        '//추가
        Else
            Set rngTar = rngTar.Offset(1, 0)
            rngTar = rngSrc
            rngTar.Offset(0, 1) = rngSrc.Offset(0, 1)
        End If
        Set rngSrc = rngSrc.Offset(1, 0)
    Wend
End Sub

건투를...
 
[불량 게시물 신고]  
        
  

작성일 : 2003-07-23(18:55)
최종수정일 : 2003-07-23(18:55)
 


 ◎ 관련글

  제 목   작성자   날짜
행열 바꾸는 방법 (대용량 데이터) 데미안 2003-07-23
[RE]행열 바꾸는 방법 (대용량 데이터) ist공원 2003-07-23