/ งาน / ตารางเวลาใน Excel VBA

งานที่กำหนดใน Excel VBA

ด้านล่างเราจะดูที่โปรแกรมมา Excel VBA ที่กำหนดสีพื้นหลังของ งานที่เป็นไปตามกำหนดเวลา เป็นสีเขียวและตั้งค่าสีพื้นหลังของงานที่อยู่หลังกำหนดเป็นสีแดง

สถานการณ์:

ใน Sheet1 เรามีงานสามอย่าง (X, Y, Z) "1" ระบุว่างานเสร็จสมบูรณ์แล้ว งานจะเป็นไปตามกำหนดเวลาหากมี "1" อยู่ในทุกคอลัมน์จนถึงวันที่วันนี้ "วันนี้" วันนี้เป็นวันที่ 6 มิถุนายน งาน X และ Y เป็นไปตามกำหนดเวลา งาน z อยู่หลังตารางเวลา (ไม่มี "1" ในเซลล์ E8)

งานที่กำหนดใน Excel VBA

สร้างกิจกรรมการเปลี่ยนแปลงแผ่นงาน รหัสที่เพิ่มเข้ากับ Worksheet Change Event จะถูกดำเนินการโดย Excel VBA เมื่อคุณเปลี่ยนเซลล์บนเวิร์กชีท

1. เปิดตัวแก้ไข Visual Basic

2. ดับเบิลคลิกที่ Sheet1 (Sheet1) ใน Project Explorer

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 ออกจากวนรอบ Do While เมื่อ Cells (6 + i, 1). ค่า คือ ว่างเปล่า (ไม่มีงานอื่น ๆ ในการตรวจสอบ)

เพิ่มบรรทัดรหัสต่อไปนี้ (ที่ 6, 7 และ 8) ใน Do While Loop

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. ทดสอบโปรแกรม ตัวอย่างเช่นระบุว่างาน Z เมื่อวันที่ 6 มิถุนายนเสร็จสิ้นแล้ว ด้วยเหตุนี้งาน Z จะเปลี่ยนเป็นสีเขียวโดยอัตโนมัติ

งานตามตารางผลลัพธ์

อ่านเพิ่มเติมได้ที่: