-3
例如,我有一張包含100多人姓名的工作表。在H列我有他們的出生日期。如果我想知道哪位朋友的生日是今天,代碼將會是什麼樣子?當然,宏需要遍歷該列,並查看今天的日期是否與列H中的日期匹配。我對VBA /宏很少有經驗。請謝謝你的幫助。如何在VBA /宏中爲生日通知創建代碼?
例如,我有一張包含100多人姓名的工作表。在H列我有他們的出生日期。如果我想知道哪位朋友的生日是今天,代碼將會是什麼樣子?當然,宏需要遍歷該列,並查看今天的日期是否與列H中的日期匹配。我對VBA /宏很少有經驗。請謝謝你的幫助。如何在VBA /宏中爲生日通知創建代碼?
如果某人的生日是今天的H列,那麼此代碼將在I列中顯示一條消息。 (假設G柱具有人的名字
Sub BirthdayAlert()
Dim lastRow As Long
Dim ws As Worksheet
Dim varArray As Variant
Dim lb As Long
Dim i As Integer
Set ws = Sheets("Sheet1")
lastRow = ws.Range("H" & Rows.Count).End(xlUp).Row
varArray = Application.Transpose(ws.Range("H2:H" & lastRow).Value)
lb = LBound(varArray)
For i = LBound(varArray) To UBound(varArray)
If IsDate(varArray(i)) Then
If CDate(varArray(i)) = Date Then
varArray(i) = "Today is Your Birthday " & Range("G2").Offset(i).Value
Else
varArray(i) = ""
End If
End If
Next i
If UBound(varArray) > 0 Then
ws.Range("I2:I" & lastRow).Value = Application.Transpose(varArray)
End If
End Sub
下面是一些簡單的吧:
Sub birthdayThing()
Dim rng As Range
For Each rng In Range("H2:H100")
If CDate(rng) = Date Then rng.Offset(0, 1).Value = "Birthday"
Next rng
End Sub
條件格式可能是一個更好的辦法。 –