- ベストアンサー
ExcelVBAで年齢計算
VBAで年齢計算をしたいのですが、「型が一致しない」と怒られます。 A列に誕生日が入っており、B列に年齢が入るようにしたいです。 Sub old() For i = 2 To Cells(2, 1).End(xlDown).Row Dim t As Date Dim b As Date t = Date b = Cells(i, 1) y = DateDiff(b, t, "y") Cells(i, 2) = y Next End Sub どこかおかしいところはありますでしょうか? 教えてください!
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ただの文法間違いです。ちゃんとヘルプを確認する習慣をつけましょう。 ヘルプを確認するには: datediffの所にカーソルを置いて,F1を押すと確認できます。オブジェクトブラウザでdatediffを探し,?ボタンでヘルプを出すのも良い方法です。 sub macro1() dim i as long dim t as date dim b as date dim y as long for i = 2 to cells(cells.rows.count, "A").end(xlup).row t = date b = cells(i, 1) y = datediff("yyyy", b, t) cells(i, 2) = y next i end sub sub macro2() dim i as long for i = 2 to range("A65536").end(xlup).row cells(i, "B") = datediff("yyyy", cells(i, "A"), date) next i end sub