VBA100本ノック 53本目を動画で解説しています。Excelの神髄さんの模範解答はコチラ
問題
#VBA100本ノック53本目
このExcelのように、A1から始まるテーブルがあります。
「東京都」の「男」で「35歳以上」の人のみ、 備考欄に「対象」と入れてください。
年齢はマクロ実行年(つまり今年)の12月31日で計算。 ※シートは任意

解答
Sub テーブルで35歳以上Fの作業列を追加()
' =IF(DATEDIF([@誕生日],"2021/12/31","Y")>=35,"35歳以上","")
' =IF([@性別]&[@35歳以上F]&[@都道府県]="男35歳以上東京都","対象","")
Dim ws As Worksheet: Set ws = Sheets("Sheet2")
Dim tb As ListObject: Set tb = ws.Range("A1").ListObject
Dim tb作業列 As ListColumn: Set tb作業列 = tb.ListColumns.Add '最終列
tb作業列.DataBodyRange.Formula = "=IF(DATEDIF([@誕生日],""2021/12/31"",""Y"")>=35,""35歳以上"","""")"
tb作業列.Name = "35歳以上F"
With tb.ListColumns(5).DataBodyRange
.Formula = "=IF([@性別]&[@35歳以上F]&[@都道府県]=""男35歳以上東京都"",""対象"","""")"
.Value = .Value
End With
tb作業列.Delete
End Sub

新人君
テーブルに新たな列を
追加する問題ですね!

ブチョ
やっぱりテーブルと言えば
ダイニングだよな!

新人君
食卓と間違えとるわこの人……
コメント