2013-03-01 3 views
0

열 A의 셀에 0이 들어 있으면 워크 시트의 일부 행을 숨기려고합니다.이 수식을 사용하여 계산됩니다.셀 데이터를 기반으로 행 숨기기

예. A1에 값 "0"이 포함되어 있으면 행 1이 숨겨집니다.

시트의 활성화 이벤트에이 코드를 쓸 수 있지만 파일 성능이 저하되고 있음을 알고 있습니다.

파일 성능을 저하시키지 않으면 서 동일한 결과를 얻을 수있는 좋은 방법이 있습니까?

답변

2

이렇게하려면 항상 filter을 사용할 수 있습니다. 나는 이것이 훨씬 더 효율적이라고 생각한다.

편집 :에 루프를 실행하기 전에

  • 의 전원을 켭 계산
  • 오프 이벤트 오프

    1. 켭니다 는 다음을 수행 할 수있는, 코드의 성능을 향상 시키려면 행 숨기기

      With Excel.Application 
          .ScreenUpdating = False 
          .EnableEvents = False 
          .Calculation = xlCalculationManual 
          .Cursor = xlWait 
      End With 
      

      루프가 끝난 후

      With Excel.Application 
          .ScreenUpdating = True 
          .EnableEvents = True 
          .Calculation = xlCalculationAutomatic 
          .Cursor = xlDefault 
      End With 
      

      희망이 있습니다. 또한 변수를 명시 적으로 사용하면 성능이 향상 될 수 있습니다. 및 계산. 명시 적으로 변수를 선언해도 도움이됩니다.

    +0

    그렇습니다. 그러나 사용자가 데이터가 필터링되었는지, 데이터 필터를 변경하지 못하도록하고 싶지는 않습니다. 코드를 사용하여 가능합니까? – Tejas

    +0

    행을 숨기는 코드를 게시 할 수 있습니까? – Konstant

    +0

    대답이 아닙니다 - 코멘트로 게시되어야합니다 – brettdj

    관련 문제