/ / Excel VBA 일정의 작업

Excel VBA에서 일정에 대한 작업

아래에서 우리는 Excel VBA 배경색을 설정하는 일정에 따른 작업 녹색으로 설정하고 일정보다 늦은 작업의 배경색을 빨간색으로 설정합니다.

상태:

Sheet1에는 세 가지 작업 (X, Y, Z)이 있습니다. "1"은 작업이 완료되었음을 나타냅니다. 오늘의 날짜를 포함하여 모든 열에 "1"이 존재하면 작업이 예정대로 진행됩니다. 오늘은 6 월 6 일입니다. 작업 X와 Y는 예정대로 진행됩니다. 작업 Z가 예정보다 늦습니다 (셀 E8에 "1"이 없음).

Excel VBA에서 일정에 대한 작업

워크 시트 변경 이벤트를 작성하십시오. 워크 시트 변경 이벤트에 추가 된 코드는 워크 시트의 셀을 변경할 때 Excel VBA에서 실행됩니다.

1. Visual Basic Editor를 엽니 다.

2. 프로젝트 탐색기에서 Sheet1 (Sheet1)을 두 번 누릅니다.

3. 왼쪽 드롭 다운 목록에서 워크 시트를 선택하십시오. 오른쪽 드롭 다운 목록에서 변경을 선택하십시오.

Excel VBA에서 워크 시트 변경 이벤트

워크 시트 변경 이벤트에 다음 코드 줄을 추가하십시오.

4. Integer 유형의 두 변수를 선언하십시오.

Dim i As Integer, j As Integer

5. Do While Loop를 추가하십시오.

Do While Cells(6 + i, 1).Value <> ""


    i = i + 1
Loop

설명 : i = 0 인 경우 Excel VBA는 작업 X (i = 1, 작업 Y 등)를 확인합니다. Excel VBA는 셀 (6 + i, 1) .Value ~이다. 비어 있음 (확인할 작업이 더 이상 없음).

Do While 루프에 다음 코드 행 (6, 7 및 8)을 추가하십시오.

6. 변수 j를 값 0으로 초기화하십시오.

j = 0

7. 작업이 일정에 있다고 가정 할 때 작업의 배경색을 녹색으로 설정합니다 (물론 반드시 그런 것은 아닙니다).

Cells(6 + i, 1).Interior.ColorIndex = 4

8. 다른 Do While Loop를 추가합니다.

Do While Cells(4, 2 + j).Value <= Date
    If Cells(6 + i, 2 + j).Value = 0 Then Cells(6 + i, 1).Interior.ColorIndex = 3
    j = j + 1
Loop

참고 : Date 함수는 오늘 날짜를 반환합니다.

설명: i = 0, j = 0 인 경우 Excel VBA는 셀 B6을 확인합니다. i = 0, j = 1 인 경우 Excel VBA는 셀 C6 등을 검사합니다. 모든 열에 "오늘"을 포함하여 "1"이 있으면 작업이 예정대로 진행됩니다. Excel VBA가 "0"을 찾으면 작업의 배경색을 빨간색으로 설정합니다.

9. 프로그램을 테스트하십시오. 예를 들어, 6-Jun의 작업 Z가 완료되었음을 나타냅니다. 결과적으로 작업 Z는 자동으로 녹색으로 바뀝니다.

일정 결과에 대한 작업

또한 읽으십시오 :