[땡큐엑셀vba & 엑셀매크로] 동일한 값의 위아래에만 굵은 테두리를 넣으려면 어떤 방법이 있을까요?
엑셀vba예제2020. 8. 17. 00:00
'http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=102020101&docId=279757774
'
'안녕하세요.
'엑셀 관련 문의드립니다.
'첨부파일 "test.xls"의 B열(주문번호) 값을 기준으로
'동일한 값의 위아래에만 굵은 테두리를 넣으려면 어떤 방법이 있을까요?
'첨부파일 "test-테두리선작업.xls"처럼 작업되면 됩니다.
'자료가 1만건 이상인데 일일이 테두리선 넣기를 하다보니 너무 시간이 오래걸려서요.
'엑셀고수님께 조언 부탁드립니다.
'감사합니다.
'주문번호가 정렬되어 있다는 가정하에 아래의 코드를 수행하세요.
'
'source by 땡큐엑셀vba & 엑셀매크로
'
Sub 블럭별테두리()
Dim 범위 As Range
Dim Rng As Range
'화면갱신 중지
Application.ScreenUpdating = False
마지막행 = Cells(Rows.Count, "A").End(xlUp).Row
'이중루프를 사용함
'2행부터 마지막행까지 루프
For i = 2 To 마지막행
'주문번호를 기준으로 비교
주문번호 = Cells(i, "B")
시작행 = Cells(i, "B").Row
'같은 주문번호의 끝을 찾아 굵은 테두리 그리기
For j = i To 마지막행
다음주문번호 = Cells(j, "B")
'같을경우 동일행 업데이트
If 주문번호 = 다음주문번호 Then
동일행 = Cells(j, "B").Row
Else
'주문번호가 다른값인 경우 테두리 그리기
Set Rng = Range(시작행 & ":" & 동일행)
'윗줄 굵은 테두리
With Rng.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
'밑줄 굵은 테두리
With Rng.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
i = j - 1
Exit For
End If
Next j
Next i
'화면갱신 재계
Application.ScreenUpdating = True
MsgBox "완료되었습니다", vbInformation, "땡큐엑셀vba & 엑셀매크로"
End Sub
같은 주문번호별 테투리-ScreenUpdate_Rows.count_End_Border_xlMedium-땡큐엑셀vba.xlsm
0.05MB
'엑셀vba예제' 카테고리의 다른 글
[땡큐엑셀vba & 엑셀매크로] 파일명의 앞글자와 일치하는 폴더로 이동하기 (0) | 2020.08.19 |
---|---|
[땡큐엑셀vba & 엑셀매크로] 검색어가 포함된 모든 엑셀파일(파일명,시트명,셀주소,내용) 출력하기 (0) | 2020.08.18 |
[땡큐엑셀vba & 엑셀매크로] 필터적용후 보이는셀만 복사 (0) | 2020.08.16 |
[땡큐엑셀vba & 엑셀매크로] 데이터 값을 입력하고 저장버튼을 누르면 아래 최근기록란에 순차적으로 기록할 수 있게 도와주세요 (0) | 2020.08.15 |
[땡큐엑셀vba & 엑셀매크로] 지각합계 사용자정의 함수 (0) | 2020.08.14 |