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

 참서리 (k5953)

추천:  2
파일:     설문결과 정리[2].xlsm (27.2KB) 조회:  1531
제목:   [RE]설문지 결과 새로운 양식으로 정리하기
     
 
'-------------------------------
Sub re_arrange_survey()
'-------------------------------


   '사번    부문/본부   부서/현장   성명    직위    직책 //   사번    작성자  작성 일자   Category    내용
   '부서    성명    직위    직책  작성일자    Category    내용    작성자
                
    Dim r As Range: Set r = Worksheets(1).[A3]
    Dim vTemplate As Variant
    Dim X As Range
    Dim colX As New Collection
    
    '------------------------------------
    Do Until r.Value = ""
    '------------------------------------
        vTemplate = Array( _
                                r.Offset(0, 2).Value, _
                                r.Offset(0, 3).Value, _
                                r.Offset(0, 4).Value, _
                                r.Offset(0, 5).Value, _
                                "일자", _
                                "category", _
                                "내용", _
                                "작성자" _
                                )
                                
        ' 설문 내용 범위
        Set X = r.Offset(0, 6).Resize(1, 5)
        
        '---------------------------------------
        Do Until X.Cells(1).Value = ""
        '---------------------------------------
                vTemplate(4) = X.Cells(3).Value
                vTemplate(5) = X.Cells(4).Value
                vTemplate(6) = X.Cells(5).Value
                vTemplate(7) = X.Cells(2).Value
                
                colX.Add vTemplate
                
               Set X = X.Offset(0, 5)
        Loop
        
        Set r = r.Offset(1)
        
    Loop

Dim shtY As Worksheet: Set shtY = Worksheets(2)
' 기존 자료 지우기
shtY.Range(shtY.[A5], shtY.[I10000]).ClearContents

Set r = shtY.[B5]

For Each v In colX
    r.Resize(1, 8).Value = v
    Set r = r.Offset(1)
Next

Set r = shtY.[B5]

Set r = Range(r, r.End(xlToRight).End(xlDown))

r.Sort Key1:=r.Cells(5), order1:=xlAscending, Header:=xlNo

'Stop

Set r = r.Columns(1).Offset(0, -1)
'r.Select

For i = 1 To r.Cells.Count
    
    r.Cells(i).Value = i

Next i





End Sub


 
[불량 게시물 신고]  
참서리다음 YouTube 영상에 자세히 설명되어 있습니다.
https://youtu.be/Ssc7Wfoglzs
08-26 (07:56)
삭제 ■신고
        
  

작성일 : 2019-08-26(07:55)
최종수정일 : 2019-08-26(11:38)
 


 ◎ 관련글

  제 목   작성자   날짜
DB Sheet에 정리된 내용을 리스트로 정리하는 내용 질문입니다. 순돌아빠 2019-08-25
[RE]설문지 결과 새로운 양식으로 정리하기 참서리 2019-08-26