たとえば、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 に答える