2017-09-25 1 views
-1

제공되는 시작일 및 종료일을 기준으로 쿼리를 실행하는 Excel/VBA 애플리케이션이 있습니다. 시작 및 끝 날짜는 Excel 시트 자체에서 제공됩니다 (양식 아님). 요구 사항은 기본 시작 날짜를 월의 1 일로 설정하고 끝 날짜를 어제 날짜로 설정하는 것이지만 사용자는 날짜를 덮어 쓸 수 있어야합니다.기본 날짜를 EXCEL/VBA로 설정하십시오.

수식을 사용하여 기본 시작 날짜와 끝 날짜를 설정할 수 있지만이를 덮어 쓰고 다른 날짜를 입력하면이 날짜에 저장된 수식이 사라집니다. 이 문제를 해결하는 방법을 안내하십시오.

+0

이 코드를 첨부 할 수
? 너 어디서 정확히 붙어 있니? 코드가 있습니까? –

+0

@Mat, 당신의 코멘트를 보았습니다! VBA를 처음 사용하는 분, 리셋 매크로를 작성하는 방법과 실행 방법을 안내해 주시겠습니까? 만약 워크 시트 ("Sheet2"). 범위 ("C3"). 값 = ""그럼 \t 워크 시트 ("Sheet2") 범위 ("C3"). 값 = 오늘() - 1 End If – SilverFish

답변

1

일반적으로 다른 열이나 셀을 사용하여이 문제를 해결하고 사용자 재정의 우선 순위가 높고 수식의 기본값이 낮은 IF 수식으로 출력을 제어합니다. 같은 뭔가 :

IF(UserOverride<>"", UserOverride, FormulaDefault)

편집 : 당신은이 공식을 수동 항목을 덮어 매크로를 "다시"몇몇 버튼/바로 가기

Public Sub resetDefaults() 
    ThisWorkbook.Sheets(1).Cells(5, 5).Formula = "=TODAY()-1" 
End Sub 
+0

Form_Load에서 기본 날짜를 설정할 수 있다고 생각합니다. 이것이 VBA에서 어떻게 이루어 졌는지 확신 할 수 없습니다. 나는 다음과 같은 노력하지만 작동하지 오전 : 개인 서브 Worksheet_Activate() 워크 시트 ("시트 2") 범위 ("C3") 값 = ""그럼 \t 워크 시트 ("시트 2") 만약 범위 (. "C3를"..) .Value = TODAY() - 1 End If End Sub – SilverFish

+0

Excel/VBA에 Form_load와 동일한 항목이 있습니까? – SilverFish

+1

양식을 사용하고 싶지 않은데 왜'Form_Load'에 대해 언급합니까? "통합 문서가 열릴 때 매크로를 실행하는 방법"을 의미합니까? 정확한 질문을 Google로 보내고 10 초 이내에 답변을 얻을 수 있습니다. –

관련 문제