2016-06-02 3 views
1

아래 그림에서 Excel 1-5 행의 맨 위 부분에 대한 계산을 중단하고 싶습니다. 그리고 다시 계산하는 것은 예를 들어 셀 M2, H4, S4에 today() 수식이 있고 열 때마다 다시 계산된다는 것입니다. 한 번 계산하면 다시 한 번 다시 계산하지 않도록 저장하면됩니다. 어떤 제안? 나는Excel에서 자동 재 계산을 중지하는 방법

Private Sub Workbook_Open() 
    Application.Calculation = xlCalculationManual 
End Sub 

을 시도 enter image description here

+0

workbook_open 이벤트가 발생하면 확인하십시오. 또는 시트의 application.calculation 값을 확인하십시오. –

+0

시트의 나머지 부분을 정상적으로 계산하려면 BeforeSave 이벤트에 Today() 값을 셀에 값으로 쓰는 매크로를 작성해야합니다. – Sun

+0

자동 계산을 켜고 끄는 대신 TODAY() 수식을 고정 날짜로 바꿉니다. 고정 날짜를 누를 때 업데이트 할 단추를 추가하십시오. 그렇게하면 준비가되었을 때만 오늘에 정보가 업데이트됩니다. –

답변

2

잘 VBA에서, 어떤 셀에 오늘날의 값을 설정하는 것입니다 파일을 여는 동안 Excel이 xlCalculationAutomatic에있을 수 있습니다.

해결 방법은 Excel을 열고 VBE 또는 메뉴를 통해 계산을 수동으로 설정 한 다음 파일을 엽니 다.
VBE에 바로 가기 창에 Application.Calculation = xlCalculationManual을 입력하고 을 입력하고을 입력 한 다음 파일을 엽니 다. 엑셀에서
2007 버전, Calculation OptionsAutomatic/Manual을 선택 Calculation Group로 이동 Formula Menu 클릭합니다. 이전 버전의 경우 Tools > Options > Calculation.

2

나는 명확하게 질문을하는 코멘트를 게시하는 명성을 가지고 있지 않기 때문에 나는 (당신의 대답은 어떻게 될지에 대해 가정을 만드는)에 대한 답변을 대신에 게시 할 예정입니다 .

해당 셀을 다시 계산하지 않고 수식을 잃지 않도록 신경 쓰지 않는 한 가장 쉬운 방법은 값으로 변환하는 것입니다.

간단한 매크로는 처음 5 개 행이를 달성하기 위해 :

sub ConvertToValues() 
Dim rngToValues as Range 
set rngToValues = YourSheet.UsedRange.Rows("1:5").EntireRow 
rngToValues.Value = rngToValues.Value 
end sub 
0

나는 당신이 원하는 이벤트를 VBA에서 함수를 평가하는 제안.

요청에 따라 TODAY 함수를 계산하려면 오늘을 재평가하는 매크로가있는 버튼을 만듭니다.

어떻게 구현할 것인가는 셀을 수식으로 사용하려면 필요합니다. 계산 된 값을 갖는 것으로 충분하면 VBA에서 계산하고 값을 원하는 셀로 설정할 수 있습니다. 수식을 사용하고 마지막으로 계산 된 TODAY 값을 유지하려면 수식을 셀에 설정할 수 있습니다. 가능성이 있으므로 Range("M2").Formula = Date() & "other formula part"

가장 쉬운 해결책은 항상 당신이 원하는 결과를 보장 할 수 없습니다 Workbook_OpenApplication.Calculation = xlCalculationManual을 설정

Sub Macro1() 

    Range("A5").Value = Date() 

End Sub 
관련 문제