Excel - เปลี่ยนวันที่โดยอัตโนมัติ

ปัญหา

ฉันกำลังใช้สูตรนี้ในแผ่นงานของฉัน:

  •  = IF (OR (A1 = 1, A1 = 2, A1 = 3), TODAY (), "") 

ปัญหาคือเมื่อฉันเปิดแผ่นงานของฉันในวันถัดไปทุกวันที่เข้ามาเปลี่ยนเป็นวันนี้ฉันต้องการวันก่อนหน้านี้ที่จะอยู่เหมือนเดิมและมีเพียงรายการใหม่ที่จะแสดงวันที่วันนี้โปรดช่วยร่างกายใด ๆ !!

 สถานะวันตั้งค่าสถานะงานคำอธิบายวันที่ 1 16 พฤษภาคม 2010 2 17 พฤษภาคม 2010 1 20 พฤษภาคม 2010 3 21 พฤษภาคม 2010 

สารละลาย

หากค่าใน A1 จะถูกป้อนด้วยตนเองคุณสามารถใช้เหตุการณ์ได้

ให้ทำเช่นนั้น

  • 1. กด ALT + F11 เพื่อเริ่ม VBE
  • 2. กด CTRL + R เพื่อแสดง Project explorer
  • 3. ดับเบิลคลิกที่แผ่นงานที่ค่า A1 จะเปลี่ยนไป
  • 4. วางรหัสนี้

 ส่วนตัว Sub Worksheet_Change (ByVal Target เป็น Range) 'ถ้าเหตุการณ์ไม่ถูกทริกเกอร์โดยคอลัมน์แรก (คอลัมน์ A) แล้วไม่มีอะไรให้ทำถ้า (Target.Column 1) จากนั้นออก Sub' ถ้าเหตุการณ์ไม่ถูกทริกเกอร์โดยแถว 1 ถ้า (Target Row 1) จากนั้นออกจาก Sub 'ปิดการใช้งานเหตุการณ์ดังนั้นเราไม่ได้เข้าไปในวงจรของเหตุการณ์ Application.EnableEvents = False ถ้า Target = 1 หรือ Target = 2 หรือ Target = 3 จากนั้น' 1 แถวลงและคอลัมน์หนึ่งไปยัง Target.Offset (1), 1) = CDate (ตอนนี้) 'แถวเดียวกันและหนึ่งคอลัมน์ทางขวา Target.Offset (0, 1) = "" อื่น ๆ ' 1 แถวลงมาและหนึ่งคอลัมน์ทางขวา Target.Offset (1, 1) = "" ' แถวเดียวกันและหนึ่งคอลัมน์ทางด้านขวา Target.Offset (0, 1) = CDate (ตอนนี้) สิ้นสุดถ้า 'เราเสร็จแล้วเราสามารถเปิดใช้ evetns อีกครั้ง Application.EnableEvents = True End Sub 

สังเกตได้ว่า

ขอบคุณ rizvisa1 สำหรับเคล็ดลับนี้ในฟอรัม

บทความก่อนหน้านี้ บทความถัดไป

เคล็ดลับยอดนิยม