엑셀 VBA에서 날짜 및 시간을 비교
이 예는 어떻게 엑셀 VBA에서 날짜와 시간을 비교하는 가르친다. 날짜와 시간은 Excel에서 숫자로 저장하고 숫자 형식에 따라 표시되는 내용 1 월 0 일, 1900 년 이후의 일 수를 계산한다.
열 A에 몇 가지 숫자를 입력하십시오
2.이 번호는 날짜입니다. 이 날짜 형식에 대한 걱정없이 어떤 날짜를 입력 할 수있는 완벽한 방법입니다. 형식을 날짜로 변경 (오른쪽 열 A 헤더, 셀 서식을 클릭하고 날짜를 선택).
결과 :
참고 : 날짜는 미국의 형식에 있습니다. 제 월, 일 둘째. 형식의이 유형은 당신의 창 지역 설정에 따라 달라집니다.
워크 시트에 명령 단추를 놓고 다음 코드 줄을 추가
정수 타입의 변수를 선언 3. I.
Dim i As Integer
다음의 루프를 추가하십시오.
For i = 1 To 5 Next i
-
날짜 기능은 시간없이 현재 날짜를 반환합니다. 현재 날짜 (2020년 3월 13일)를 포함하는 모든 셀을 강조하기 위해, 루프에 다음 코드 줄을 추가합니다.
If Cells(i, 1).Value = Date Then Cells(i, 1).Font.Color = vbRed
결과 :
루프에 다음 코드 줄을 추가 6. 2019년 4월 19일보다 모든 날짜 이전에 강조 표시합니다.
If Cells(i, 1).Value < DateValue("April 19, 2019") Then Cells(i, 1).Font.Color = vbRed
결과 :
-
그러나 시간에 대해, 우리는 당신이 말하는 무엇을 듣고. 그들은 소수입니다. 일반 형식으로 다시 전환하고 10 진수 숫자를 변경합니다.
-
이제 ‘날짜 및 시간’형식으로 포맷을 변경합니다.
결과 :
현재 날짜를 포함하는 모든 셀을 선택하려면 9. 우리는 더 이상 5의 코드 라인을 사용할 수 없습니다. 왜? 열 A의 숫자 때문에 진수는 지금. 날짜 (정수)와 비교하는 것은 어떤 경기를 포기하지 않을 것입니다. (그것은 단지 정확히 자정에 2020년 3월 13일와 일치를 줄 것이다!) 다음 코드 라인은 작업을 수행합니다
If Int(Cells(i, 1).Value) = Date Then Cells(i, 1).Font.Color = vbRed
설명 : 우리는 단순히 지능 기능을 사용합니다. 지능 기능은 가장 가까운 정수로 숫자를 반올림합니다. 이 방법으로 우리는 시간없이 날짜를 얻고 날짜로이 날짜를 비교할 수 있습니다.
결과 :
-
아침에 시간을 포함하는 모든 세포를 강조하기 위해 다음 코드 줄을 추가합니다.
If (Cells(i, 1).Value - Int(Cells(i, 1).Value)) < 0.5 Then Cells(i, 1).Font.Color = vbRed
설명 : 우리는 그렇게 때문에 우리는 정수 부분을 빼 진수가 필요합니다. 정오 (중간 일까지) 0.5로 표시된다.
소수는 0.5 시간은 아침보다 낮 춥니 다.
결과 :