例如,我有一张包含 100 多人姓名的表格。在 HI 栏中有他们的出生日期。如果我想知道今天是哪个朋友的生日,代码会是什么样子?当然,宏需要遍历该列并查看今天的日期是否与 H 列中的日期匹配。我对 VBA/宏的经验很少。请并感谢您的帮助。
问问题
1656 次
2 回答
0
如果某人的生日是今天,则此代码将根据 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
于 2012-11-13T00:47:59.140 回答
0
这里有一些简单的东西:
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
于 2012-11-13T02:37:11.630 回答