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

 조삿갓 (choga21)

추천:  2
파일:     조회:  3196
제목:   [RE]vba 열편집에 대해 도움 구합니다.
     
  두 가지 방법을 알려드립니다.

Sub 편집()
    Const HeadRow = 4:  '표 제목이 있는 행 번호를 지정합니다.
    Const TableWidth = 14:  '표의 전체 열 수를 지정합니다.
    Dim c As Integer
    Dim DispField As Variant
    Dim fn As Variant
    Dim show As Boolean
    
    DispField = Array("연번", "상호", "회원번호", "수량", "비고")
        ' 열을 표시하고 싶은 필드명을 위와 같이 코머로 구분하여 열거해 줍니다.
    For c = 1 To TableWidth
        For Each fn In DispField
            show = Cells(HeadRow, c) = fn
            If show Then Exit For
        Next fn
        Cells(HeadRow, c).EntireColumn.Hidden = Not show
    Next c
    
    Range("a1").Select
End Sub

================= 또는 ============

Sub 편집2()
    Const HeadRow = 4
                        ' 표의 폭을 정하기 곤란한 경우에는
    Dim c As Range
    Dim DispField As Variant
    Dim fn As Variant
    Dim show As Boolean
    
    DispField = Array("연번", "상호", "회원번호", "수량", "비고")
    Rows(HeadRow).Select
    For Each c In Selection
        If c = Empty Then Exit For
                        ' 표 제목에서 빈 셀을 만날 때까지만 검사하는 방법도 있습니다.
        For Each fn In DispField
            show = c = fn
            If show Then Exit For
        Next fn
        c.EntireColumn.Hidden = Not show
    Next c
    
    Range("a1").Select
End Sub

* 아래줄에 질문을 작성하세요 >>
 
 vba 작업하다가 도저히 안되어 문의드립니다.
 도움 부착드립니다.

 
 vba로 원하는 엑셀열만을 나타내고 싶습니다.
 
 아래 예제를 보시면, A, B, C, I, M 열을 지정해서 나타내었습니다. 
 이것을 연번, 상호, 회원번호, 수량, 비고로 제가 제목행에 적어논 이름으로 열 지정이 바꾸고 싶습니다.

 파일마다 일일이 열지정을 새로 하는게 일이 너무 많네요..
 
 예제파일 첨부합니다.
 즐거운 주말 되시고, 항상 좋은날만 가득하시기 바랍니다.

 수고하세요...   
   
 

Sub 편집()
    Cells.Select
    Selection.EntireColumn.Hidden = False
    Selection.EntireRow.Hidden = Fales
    
    Range("a:n").Select
    Selection.EntireColumn.Hidden = True
      
    
    Range("a:a,b:b,c:c,i:i,m:m").Select 
    Selection.EntireColumn.Hidden = False
    
    Range("a1").Select
   
End Sub


==============[대커님 글에 대한 답변입니다]==============
 
[불량 게시물 신고]  
피정타사감사합니다.
역시 vba의 기능은 무궁무진하네요. 
좋은 하루 되세요..
05-16 (12:45)
삭제 ■신고
        
  

작성일 : 2017-05-15(09:55)
최종수정일 : 2017-05-15(09:55)
 


 ◎ 관련글

  제 목   작성자   날짜
vba 열편집에 대해 도움 구합니다. 대커 2017-05-14
[RE]vba 열편집에 대해 도움 구합니다. 조삿갓 2017-05-15