>source

(문맥 : Excel에서 복잡한 수식을 작성하는 방법에 대해 많이 알고 있지만 VBA에 대해 매우 기본적으로 이해하고 있습니다. 스스로 해결하려고하는 문제에 대한 해결책을 찾을 수 없다는 사실에 놀랐습니다. Excel에 불가능한 것이 있는지 궁금합니다.) 많은 사람들이 Excel 템플릿을 부풀려 올 것이라고 확신하기 때문에 많은 사람들이이 기능을 유용하게 사용할 것이라고 생각합니다.

변경된 데이터 집합을 하나의 워크 시트에 덤프하는 방식으로 업데이트되는 미리 채워진 수식이있는 다양한 워크 시트에 다양한 셀이있는 Excel 템플릿이 있습니다. 수식으로 미리 채워진 모든 셀을 사용할 필요가없는 다른 '프로젝트'에 템플릿을 사용합니다. 새 데이터를 가져 오면 사용하지 않는 특정 행과 열은 필요하지 않기 때문에 수동 또는 VBA 매크로로 숨겨집니다.

전체 파일 크기를 줄이기 위해 모든 숨겨진 셀의 내용 (예 : 수식)을 지우는 방법을 찾고 싶습니다. 내 파일은 빠르게 100MB를 초과하지만 수식이 포함 된 셀의 80 %는 특정 프로젝트에 사용되지 않으며 지울 수 있습니다.

VBA 전문가는 아니지만 Google을 통해 검색 한 결과 VBA를 쉽게 찾을 수있을 것이라고 생각했지만 문자 그대로 Google 검색 결과 순위에 깊게 들어간 후에는 해결책의 방향으로 나를 보낸 좋은 결과를 발견했습니다.

VBA를 사용하여 숨겨진 행이나 열을삭제하는 방법에 대한 많은 내용이 있지만 통합 문서로는 그렇게 할 수 없습니다 (다른 행과 열을 유지하려면 행과 열이 필요합니다) 작동하는 수식 및 형식). 숨겨진 셀에서 사용하지 않는 수식을 제거하고 싶습니다.

다음을 사용하여 내용을 지우거나 형식을 지울 수 있음을 이해합니다

Sheets("Test").Range("A1:C3").ClearContents
Sheets("Test").Range("A1:C3").ClearFormats

이 줄을 사용하여 셀을 숨 깁니다 :

Range.Hidden = True

그래서 ClearContents 의 범위를 어떻게 얻을 수 있습니까?  함수는 숨겨진 셀로 정의되거나 숨겨진 셀에만 작용하도록 하는가? 이 작업을 효율적으로 수행 할 수있는 방법 ... 루프를 실행하면 작업을 수행하기 위해 행이나 열을 진행할 때 많은 시간이 걸릴 수 있다는 것을 알게되었습니다.

이 프로세스를 허용하는 솔루션을 갖고 싶습니다 :

  1. 새 데이터 가져 오기
  2. 필요하지 않은 행과 열 숨기기
  3. 특정 Range(A3:TY53) 내의 모든 셀에서 모든 수식을 지우려면 매크로 버튼을 누르십시오.  모든 워크 시트에서

내가 직접 찾을 수 없었던 기존 솔루션에 대한 도움이나 도움을 주시면 대단히 감사하겠습니다.


  • 답변 # 1

    숨겨진 셀의 내용을 지우려면 :

    Sub KlearHidden()
        Dim r As Range
        For Each r In ActiveSheet.UsedRange
            If r.EntireRow.Hidden Or r.EntireColumn.Hidden Then
                r.Clear
            End If
        Next r
    End Sub
    
    

관련 자료

  • 이전 algorithm - 코인 변경 문제 (다이나믹 프로그래밍 접근법)에 대한 재발 관계에서 +1은 무엇을 의미합니까?
  • 다음 java - 이미지를로드 할 때 응용 프로그램이 충돌합니다