최근 작업에서 사용자의 입력을 수락해야했습니다. 입력 값 중 하나는 생년월일이었으며 물론 날짜 여야합니다.

내가 한 일은 입력을 변형 데이터 유형에 저장하는 것입니다. 이로 인해 코드에 오류가 발생하지 않았고 코드는 사용자가 제공 한 모든 가치를 받아 들였습니다. 다음은 코드입니다.

Dim dob As Variant

dob = Application.InputBox("Enter Your Date of Birth")

물론 이것은 사용자가 유효한 날짜가 아닐 수있는 값을 입력 할 수 있기 때문에 잘못된 접근 방식이었습니다.

내가 원하는 것은 내 코드가 잘못된 날짜를 감지하고 사용자에게 유효한 날짜를 입력하고 서브 루틴을 종료하도록 요청하는 것입니다.

다음은 사용자가 유효한 날짜 만 입력 할 수 있도록 허용하는 코드입니다.

Sub check_date()

Dim dob As Date

On Error GoTo Errorhandler

dob = Application.InputBox("Enter Your Date of Birth")

On Error GoTo 0

Debug.Print dob

Exit Sub

Errorhandler:

MsgBox "Please enter a valid date."

End Sub

위의 코드를 실행하면 생년월일을 입력하라는 메시지가 표시됩니다. 유효하지 않은 날짜를 입력하면 유효한 날짜를 입력하고 절차를 종료하라는 메시지가 표시됩니다.

imageHow does it work?* The first and most important thing we have done is to use the Date type variable to store the expected date. Now, if you try to store a value that is not a valid date, it will through an error of “type mismatch”.

다음으로 On Error Goto * error 핸들러를 사용하여이 오류를 포착합니다.

On Error GoTo Errorhandler

dob = Application.InputBox("Enter Your Date of Birth")

On Error GoTo 0

On Error를 사용하여 컨트롤을 End Sub 문 바로 앞에있는 태그 Errorhandler로 이동합니다. 따라서 사용자에게 유효한 날짜를 입력하라는 메시지가 표시되고 서브가 종료됩니다.

Errorhandler:

MsgBox "Please enter a valid date."

End Sub

사용자가 유효한 날짜를 입력하면 제어가 정상적으로 흐르고 입력이 dob 변수에 저장됩니다. 컨트롤이 오류 처리기로 이동하지 않고 바로 거기에서 프로 시저를 종료하도록 Exit 하위 문을 넣었습니다. 따라서 exit sub 앞에 모든 end 문을 넣으십시오. 그리고 그게 다야.

네, 여러분이 유효한 날짜 만 입력하도록 사용자를 제한하는 방법입니다.

VBA 날짜 또는 기타 Excel / VBA 관련 쿼리에 대해 의문이 있으면 알려주십시오. 아래 댓글 섹션에서 문의하십시오.

관련 기사 :

link : / vba-insert-date-time-stamp-with-vba [Insert Date Time Stamp with VBA]| 이 VBA 코드를 사용하여 특정 셀이 채워 졌을 때 타임 스탬프를 입력합니다. A 열에 값을 입력하면 B 열의 인접한 셀이 입력 시간으로 자동으로 채워집니다.

`link : / excel-macros-and-vba-date-time-in-vb [VBA의 날짜 및 시간] | 이 페이지에서 VBA의 날짜 및 시간에 대한 모든 항목을 찾으십시오.

인기 기사 :

link : / keyboard-formula-shortcuts-50-excel-shortcuts-to-increase-your-productivity [50 개의 Excel 단축키로 생산성 향상]| 작업 속도를 높이십시오. 이 50 개의 바로 가기를 사용하면 Excel에서 더 빠르게 작업 할 수 있습니다.

link : / formulas-and-functions-introduction-of-vlookup-function [Excel의 VLOOKUP 함수]| 이것은 다른 범위와 시트에서 값을 조회하는 데 사용되는 Excel의 가장 많이 사용되고 인기있는 기능 중 하나입니다. link : / tips-countif-in-microsoft-excel [Excel 2016의 COUNTIF]| 이 놀라운 기능을 사용하여 조건으로 값을 계산합니다. 특정 값을 계산하기 위해 데이터를 필터링 할 필요가 없습니다.

Countif 기능은 대시 보드를 준비하는 데 필수적입니다.

link : / excel-formula-and-function-excel-sumif-function [Excel에서 SUMIF 함수 사용 방법]| 이것은 또 다른 대시 보드 필수 기능입니다. 이를 통해 특정 조건에 대한 값을 합산 할 수 있습니다.