이전 날짜 입력 제한 (Microsoft Excel)
Excel의 데이터 유효성 검사 기능을 사용하는 경우 다른 셀의 내용을 기반으로 셀에 들어가는 내용을 제한 할 수 있습니다. 예를 들어 A1 셀에있는 날짜를 기준으로 A2 셀에 들어가는 내용을 쉽게 제한 할 수 있습니다. 다음 단계를 따르십시오.
-
A2 셀을 선택하십시오.
-
데이터 메뉴에서 유효성 검사를 선택하십시오. Excel은 데이터 유효성 검사 대화 상자를 표시합니다.
-
설정 탭이 표시되는지 확인합니다. (그림 1 참조)
-
허용 드롭 다운 목록을 사용하여 날짜를 선택합니다.
-
데이터 드롭 다운 목록을 사용하여보다 큼 또는 같음을 선택합니다.
-
시작 날짜 상자에 = A1을 입력합니다. 이렇게하면 날짜가 A1 셀에있는 날짜보다 크거나 같아야한다는 것을 Excel에 알립니다.
-
확인을 클릭하십시오.
이제 A1 셀의 날짜보다 이전 인 A2 셀에 날짜를 입력하려고 할 때마다 Excel에서 오류 메시지를 표시하고 날짜를 입력 할 수 없습니다.
그러나 A1 셀에 입력 할 수있는 날짜를 제한하려는 경우 어떻게됩니까? 예를 들어 A1 셀에 4/1/04 날짜를 입력하고 A1에 입력 한 다음 날짜가 4/1/04 이전이 아닌지 확인하려는 경우입니다. A1 셀에 4/15/04와 같은 날짜를 입력하면 괜찮지 만 다음에 A1 셀에 날짜를 입력 할 때 4/15/04 이전 날짜를 원하지 않습니다. 즉, A1 셀이 현재 A1에있는 날짜 이후의 날짜 만 수락 할 수 있는지 확인하려고합니다.
이것은 좀 더 끈적입니다. 위의 단계를 따르지만 1 단계에서 A1 셀을 선택하면 데이터 유효성 검사가 작동하지 않습니다. 왜? A1 셀에 입력 한 날짜는 항상 A1에 입력 한 날짜보다 크거나 같기 때문에 Excel은 데이터 유효성 검사를 수행 할 때 A1의 이전 날짜와 비교하지 않습니다.
이 문제를 해결하는 유일한 방법은 두 개의 매크로를 사용하는 것입니다. 먼저 일반 모듈에 다음 매크로를 배치합니다.
Sub Date_Validation() Dim dteDate As Date Dim strDate As String With Range("A1") ' Memo original date dteDate = CDate(.Text) ' Create date string strDate = Format(dteDate, "m\/d\/yy") With .Validation ' Delete old settings .Delete ' Set new data validation .Add _ Type:=xlValidateDate, _ AlertStyle:=xlValidAlertStop, _ Operator:=xlGreaterEqual, _ Formula1:=strDate .IgnoreBlank = False .InCellDropdown = True .InputTitle = "" .ErrorTitle = "Invalid Date Entry" .InputMessage = "" .ErrorMessage = _ "Date is older than the previous date (" & _ dteDate & ")." .ShowInput = True .ShowError = True End With End With End Sub
이 매크로는 다른 매크로에 의해 호출되어야합니다.이 매크로는 워크 시트의 코드 창에 배치되어 워크 시트가 변경 될 때마다 트리거됩니다.
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target = Range("A1") Then Date_Validation End Sub
이러한 매크로가 작동하는 방식은 정말 흥미 롭습니다. 후자는 워크 시트의 코드 창에 배치하기 때문에 워크 시트가 변경 될 때마다 트리거됩니다. 변경중인 셀이 A1이면 Date_Validation 매크로가 실행됩니다.
Date_Validation 매크로는 A1 셀에서 날짜를 가져와 셀에 대한 데이터 유효성 검사 규칙을 구성합니다. 그게 전부입니다. 현재 셀에있는 날짜보다 이전의 날짜를 셀에 입력 할 수 없도록 데이터 유효성 검사 규칙을 설정합니다.
매크로의 장점은 데이터 유효성 검사 규칙이 적용되면 다음에 A1 셀이 변경 될 때 Worksheet_Change 이벤트가 발생하기 전에 데이터 유효성 검사 규칙이 트리거된다는 것입니다. 따라서 데이터 유효성 검사 규칙은 현재 날짜보다 큰 날짜 만 입력 할 수 있도록합니다. 데이터 유효성 검사가 지워지면 매크로가 데이터 유효성 검사 규칙을 재설정하므로 새로 입력 한 날짜와 비교됩니다.
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (2960)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁의 버전을 찾을 수 있습니다.
link : / excelribbon-Limiting_Entry_of_Prior_Dates [이전 날짜 입력 제한]
.