EXCEL VBA - 如何回傳今天是「星期幾」?

 

情  境

有一個EXCEL檔案,幾乎每天都會用到。每次打開此檔案時,巨集中都會設定自動執行某些動作。但每週只有「星期五」我不想要執行此巨集。

所以要如何得知今天是「星期幾」?

範  例 一

Sub 今天星期幾()

   Dim Workday 
   Dim 星期幾
   
  
   Workday =
Application.Evaluate("WEEKDAY(TODAY())-1")
  
   Select Case Workday
   

    Case "0"
        星期幾 = "星期日"
    
    Case "1"
        星期幾 = "星期一"
    
    Case "2"
        星期幾 = "星期二"
    
    Case "3"
        星期幾 = "星期三"
    
    Case "4"
        星期幾 = "星期四"
  
    Case "5"
        星期幾 = "星期五"

    Case "6"
        星期幾 = "星期六"
    
    Case Else
        星期幾 = "我也不知道"
    
   End Select
   
   
   Range("B1").FormulaR1C1 = 星期幾


End Sub

Application.Evaluate可以讓EXCEL裡面的函數執行

Weekday()會回傳今天是一個星期的第幾天,-1是因為weekday內定星期日是第一天

 

 

範  例 二

Sub 今天星期幾()

 

Range("A1").Value = WeekdayName(Weekday(Date))


End Sub

範例二的方法更簡單,只要使用WeekdayName()這個函數即可。

以下即為實際結果。

undefined