매크로 기록을 vba 로 작성해서 압축하고싶습니다 !! 고수분 조언 부탁드립니다

VBA
작성자
최우진
작성일
2023-01-12 15:13
조회
1063
엑셀버전 : 엑셀2019

운영체제 : 윈도우10

필터를 사용하여 빈셀을 삭제하려하는데요

데이터가 너무 많아서 너무 오래걸려 vba로 조금 더 빠르게 하는법을 공부하고있습니다 .

현재

Sub 데이터정리()

ActiveSheet.Range("$F$8:$G$86408").AutoFilter Field:=1, Criteria1:="="

Range("G9:AN86408").SpecialCells(xlCellTypeVisible).Select

Selection.ClearContents

ActiveSheet.Range("$F$8:$G$86408").AutoFilter Field:=1

End Sub

위와같이 매크로 기록을 통해서 데이터를 정리하고 있는데 이걸 더 빨리돌아갈수 있게

쓸만한 함수가 있을지 도움부탁드립니다

신고
스크랩
공유
전체 4

  • 2023-01-12 15:57
    채택된 답변

    @최우진 님 아래 코드를 시작부분에

    Application.ScreenUpdating = False
    Application.EnableEvents = False
    Application.Calculation = xlCalculationManual

     

    아래를 끝부분에 추가하는 것 외에는 별로,,,

    Application.ScreenUpdating = True
    Application.EnableEvents = True
    Application.Calculation = xlCalculationAutomatic


    • 2023-01-12 16:16

      @원조백수 님 크게는 압축하거나 단축할수 없나보군요 ..

      그래도 추가해주신 명령어 앞 뒤에 붙이니까 조금 더 빨라졌습니다 !!

      답변 감사합니다 ^-^


      • 2023-01-12 17:44

        @최우진 님 몇 분씩 걸리는 작업이라면,,, 삭제가 아니라 지우는 작업이므로 Array를 이용하면 좀 빨라질 수 있을 듯 하나

        실제 파일에서 해봐야 알 수 있을 듯 하네요.

        실제로 많은 행의 필터를 걸고 푸는 게 많은 부하를 가져갈 수 있으니까요...

        9~86408행까지 F열이 빈셀인 것들에 대해서 "G:AN" 셀의 내용을 지우는 것이니까...

        대강 아래처럼 해 보시고 시간을 비교해 보세요.

        (그냥 타이핑 한 것이라 오류 발생할 수 있습니다.ㅡ,.ㅡ)

        fArray = Range("F1:F86408").Value2

        dArray = Range("G1:AN86408").FormulaLocal

        For i = 8 to Ubound(fArray, 1)

        If fArray(i, 1) = vbNullString then

        For j = 1 to Ubound(dArray, 2)

        dArray(i, j) = vbNullString

        Next J

        End IF

        Next i

        Range("G1").Resize(Ubound(dArray,1), Ubound(dArray, 2)).FormulaLocal = dArray


        • 2023-01-25 11:37

          @원조백수 님 앗 늦게발견했습니다 ..
          적용한번 해봐야겠네요 ㅎㅎ

          끝까지 답변해주셔서 감사드립니다 새해 복 많이받으세요 !!


전체 18,476
번호 카테고리 제목 작성자 작성일 추천 조회
알림
[📚진짜쓰는 실무엑셀] IT/오피스 '1위' 베스트셀러! 엑셀 공부, 이 교재로 마스터하세요! (313)
오빠두엑셀 | 2022.02.03 | 추천 573 | 조회 600972
오빠두엑셀 2022.02.03 573 600972
공지사항 문서서식
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐ (197)
오빠두엑셀 | 2021.10.28 | 추천 310 | 조회 34973
오빠두엑셀 2021.10.28 310 34973
78431 VBA
New IF 조건문 기초 질문 드립니다. 첨부파일 (4) 답변완료
neoburi | 00:46 | 추천 0 | 조회 61
neoburi 00:46 - 61
78428 기능/도구
New 보이는 범위의 셀로만 붙여넣기하는 법 첨부파일 (2)
유도연 | 2025.04.29 | 추천 0 | 조회 86
유도연 2025.04.29 - 86
78424 함수/공식
New 생년월일 6자리로 나이 계산 어떻게 하나요? (7)
망나 | 2025.04.29 | 추천 0 | 조회 93
망나 2025.04.29 - 93
78421 함수/공식
New INDEX + MATCH 함수 문의 (2)
박상선 | 2025.04.29 | 추천 0 | 조회 87
박상선 2025.04.29 - 87
78420 함수/공식
New 여러시트 중에 같은내용을 찾기 엑셀파일첨부파일 (1)
박석철 | 2025.04.29 | 추천 0 | 조회 71
박석철 2025.04.29 - 71
78419 문서서식
New 크기가 다른 셀에서의 필터 걸기 부탁드립니다 ! 첨부파일 (3) 답변완료
Aberdeen | 2025.04.29 | 추천 0 | 조회 59
Aberdeen 2025.04.29 - 59
78418 함수/공식
New [퀴즈] 텍스트 압축/변형하기 엑셀파일첨부파일 (8)
마법의손 | 2025.04.29 | 추천 0 | 조회 114
마법의손 2025.04.29 - 114
78416 VBA
New 시트보호된 상태에서 매크로 작동시 Range 클래스 중 Insert 메서드에 오류가 있습니다. 첨부파일 (1)
jihye**** | 2025.04.29 | 추천 0 | 조회 53
jihye**** 2025.04.29 - 53
78414 파워쿼리/피벗
New 다른 엑셀 파일에서 필요한 값만 불러오는 방법 첨부파일
망그러진나나 | 2025.04.29 | 추천 0 | 조회 60
망그러진나나 2025.04.29 - 60
78413 함수/공식
New 경과주 구하는 수식 문의 (1)
엑셀렙업용 | 2025.04.29 | 추천 0 | 조회 58
엑셀렙업용 2025.04.29 - 58
78411 문서서식
New 숫자 문자인식 숫자변환하는 법 엑셀파일 (5)
패션피플 | 2025.04.29 | 추천 0 | 조회 75
패션피플 2025.04.29 - 75
78410 VBA
New [매크로관련] 특정셀 자동증가하며, 연속출력할수 있을까요? 엑셀파일 (5) 답변완료
박병호 | 2025.04.29 | 추천 0 | 조회 87
박병호 2025.04.29 - 87
78408 문서서식
New 숫자 서식 변경하기 첨부파일 (3) 답변완료
에그셀 | 2025.04.29 | 추천 0 | 조회 64
에그셀 2025.04.29 - 64
78407 기능/도구
New 원드라이브 MICROSOFT 365 사용중 공동작업시 필터 첨부파일 (1)
록키발보아 | 2025.04.29 | 추천 0 | 조회 55
록키발보아 2025.04.29 - 55
78402 함수/공식
New 괄호안의 시간:분 데이터를 분으로 합산하는 방법 질문드립니다. 엑셀파일첨부파일 (1) 답변완료
nams | 2025.04.28 | 추천 0 | 조회 68
nams 2025.04.28 - 68
78400 함수/공식
New 2차배열에서 countif 첨부파일 (9) 답변완료
라면이가좋아 | 2025.04.28 | 추천 0 | 조회 89
라면이가좋아 2025.04.28 - 89
78399 함수/공식
New 한달의 마지막주 스케쥴 작성시 전주까지의 휴무 누적 합계 구하는 방법이 궁금합니다. 엑셀파일첨부파일 (3)
쭈누 바라기 | 2025.04.28 | 추천 0 | 조회 54
쭈누 바라기 2025.04.28 - 54
78398 VBA
New VBA 매크로 여러 엑셀 파일에서 사용 (1)
shhhha | 2025.04.28 | 추천 0 | 조회 85
shhhha 2025.04.28 - 85
78396 함수/공식
New 직원별로 근태 합계를 확인하고 싶어요 엑셀파일 (12) 답변완료
배진희 | 2025.04.28 | 추천 0 | 조회 117
배진희 2025.04.28 - 117
78395 함수/공식
New 특정 단어를 포함한 행 골라내는 방법에 대해 문의드립니다. (3) 답변완료
mmm1010 | 2025.04.28 | 추천 0 | 조회 76
mmm1010 2025.04.28 - 76
78392 함수/공식
New 도와주세요... ( 특정값에 해당하는 반 번호 찾아 목록만들기) 엑셀파일첨부파일 (6)
김동생 | 2025.04.28 | 추천 0 | 조회 82
김동생 2025.04.28 - 82
78389 기능/도구
New 오빠두LIVE 196회 - 엑셀 프로젝트 관리 _ 일,주 바꾸는법 엑셀파일 (1)
일류 | 2025.04.28 | 추천 0 | 조회 72
일류 2025.04.28 - 72
78387 함수/공식
New 엑셀 관련 질문입니다. SUM과 IFERROR 입니다 ㅠ (6)
| 2025.04.27 | 추천 0 | 조회 119
2025.04.27 - 119
78382
New Excel 추세선 이상 엑셀파일 (2)
eagle | 2025.04.27 | 추천 0 | 조회 89
eagle 2025.04.27 - 89
78381 함수/공식
New 같은 이름 N 번째 데이터 엑셀파일첨부파일 (14) 답변완료
박정호 | 2025.04.27 | 추천 1 | 조회 124
박정호 2025.04.27 1 124
78380 함수/공식
New On Error Resume Next 문구를 삽입하는 위치는? (2) 답변완료
GEEM | 2025.04.27 | 추천 0 | 조회 94
GEEM 2025.04.27 - 94
78376 함수/공식
New 지역별 증감금액 확인 엑셀파일 (3) 답변완료
충무공 | 2025.04.26 | 추천 0 | 조회 86
충무공 2025.04.26 - 86
78374 함수/공식
New index를 활용한 조건에 맞는 금액을 찾는 방법 엑셀파일첨부파일 (4)
뚜둥뚜둥 | 2025.04.26 | 추천 0 | 조회 105
뚜둥뚜둥 2025.04.26 - 105
78372 기능/도구
New 표서식 차이 문의 첨부파일 (2) 답변완료
hossang**** | 2025.04.25 | 추천 0 | 조회 74
hossang**** 2025.04.25 - 74
78370 피벗테이블
New (피벗테이블) 2024년 2025년 판매 TOP10 비교데이터 첨부파일 (13)
패션피플 | 2025.04.25 | 추천 0 | 조회 109
패션피플 2025.04.25 - 109