본문 바로가기
VBA

[VBA] 사이즈표 만들기(feat. 더블클릭 이벤트)

by 일등미노왕국 2022. 8. 26.

쇼핑몰에서 이미지를 다운받아서 가공하는 의뢰를 받았다.

의뢰받은거라 공개를 못하고 그중 사이즈표를 만드는 일을 공개하려고 한다.

 

파일을 불러온 후 적당한 위치에 놓고 사이즈를 완성한 후 필요없는 부분을 숨기기 처리한 후

파일로 저장하는 코드이다.

 

더보기
Option Explicit

Private Sub Worksheet_Activate()                        '= 숨기기 취소
    Dim rngM As Range: Set rngM = [n7:t17]
    rngM.ClearContents                                  '= 내용 초기화
    ActiveSheet.Cells.EntireColumn.Hidden = False
    ActiveSheet.Cells.EntireRow.Hidden = False
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    Dim rngC As Range: Set rngC = [N6:T6]           '= 행영역
    Dim rngR As Range: Set rngR = [m7:M17]          '= 열영역
    Dim rngM As Range: Set rngM = [n7:t17]          '= 사이즈 내역 영역
    Dim rngX As Range                               '= 사이즈 선택 영역
 
    If Intersect(Target, Union(rngR, rngC, rngM)) Is Nothing Then Exit Sub   '= 사이즈표 영역이 아니면 이벤트 비활성화
    
    If Not Intersect(Target, rngC) Is Nothing Then   '= 열을 숨기기 원할시
       Target.EntireColumn.Hidden = True
    End If
    
    If Not Intersect(Target, rngR) Is Nothing Then   '= 행을 숨기기 원할시
       Target.EntireRow.Hidden = True
    End If
        
    If Not Intersect(Target, rngM) Is Nothing Then   '= 사이즈 표에 값을 증가하길 원할시
                          
       For Each rngX In Intersect(Range(Target, Target.End(4)), rngM)
        
        If rngX = "" Then
        
           rngX = rngX(0, 1) + Cells(3, Target.Column) '= 위의 값에 증가율을 더한다.
        
        End If
       
       Next rngX
    End If
End Sub

사이즈표만들기.xlsm
0.30MB

댓글