• ベストアンサー

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 どこかおかしいところはありますでしょうか? 教えてください!

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.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

関連するQ&A