Microsoft Excel에서 VBA를 사용하여 날짜를 기준으로 글꼴 색상을 변경
이 기사에서는 통합 문서 이벤트를 사용하여 현재 날짜보다 큰 날짜를 강조 표시합니다.
이 예의 원시 데이터는 일일 판매 목표와 달성 목표로 구성됩니다.
현재 날짜보다 큰 날짜를 강조하고 싶습니다.
논리 설명
이 기사에서는 “SetColor”와 “ResetColor”라는 두 개의 매크로를 만들었습니다.
“SetColor”매크로는 현재 날짜보다 큰 날짜를 강조 표시하는 데 사용됩니다.
“ResetColor”매크로는 지정된 소스의 형식을 재설정하는 데 사용됩니다.
우리는 두 개의 통합 문서 이벤트, 통합 문서 열기 이벤트 및 닫기 이벤트 전 통합 문서를 사용했습니다.
통합 문서를 열면 통합 문서 열기 이벤트가 시작됩니다. 통합 문서를 열면 “SetColor”매크로가 자동으로 실행됩니다.
닫기 전 통합 문서 이벤트는 통합 문서 열기 이벤트와 관련된 이벤트를 재설정하는 데 사용됩니다.
코드 설명
If IsDate (ActiveCell.Value) And ActiveCell.Value> Date Then 위 코드는 셀의 값이 날짜 데이터 유형이고 현재 날짜보다 큰지 확인하는 데 사용됩니다.
ActiveCell.Interior.Color = RGB (0, 255, 0)
위의 코드는 활성 셀에 녹색을 할당하는 데 사용됩니다.
소스 설정 = Range ( “A1”, Range ( “A1”). SpecialCells (xlCellTypeLastCell))
위의 코드는 Excel 시트 내의 모든 데이터를 선택하는 데 사용됩니다.
아래 코드를 따르세요
Option Explicit Sub SetColor() If IsDate(ActiveCell.Value) And ActiveCell.Value > Date Then ActiveCell.Interior.Color = RGB(0, 255, 0) Else ActiveCell.Interior.Color = RGB(221, 235, 247) End If End Sub Sub ResetColor() 'Declaring variables Dim Rng, Source As Range Dim IntRow As Integer, IntCol As Integer 'Specifying all the cells as source range Set Source = Range("A1", Range("A1").SpecialCells(xlCellTypeLastCell)) 'Looping through all the cells For Each Rng In Source 'Checking whether cell contains a value If Not IsEmpty(Rng) Then 'Checking whether cell contain value of date data type If IsDate(Rng.Value) Then Rng.Select 'Assigning Green color if value is greater than today date If DateValue(Rng.Value) > Date Then ActiveCell.Interior.Color = RGB(0, 255, 0) Else ActiveCell.Interior.Color = RGB(221, 235, 247) End If End If End If Next Rng End Sub 'Insert below code in ThisWorkbook module Option Explicit Private Sub Workbook_Open() With Worksheets("Main") 'Event fired on entry to worksheet .OnEntry = "SetColor" 'Event fired on sheet activation .OnSheetActivate = "ResetColor" End With End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) With Worksheets("Main") .OnEntry = "" .OnSheetActivate = "" End With End Sub
이 블로그가 마음에 들면 Facebook 및 Facebook에서 친구들과 공유하십시오.
여러분의 의견을 듣고 싶습니다. 작업을 개선하고 더 나은 서비스를 제공 할 수있는 방법을 알려주십시오. [email protected]로 문의 해주세요