質問: 科目によって処理を変えたい エクセル2003を使っています。 f列に科目名が入っています。 その科目名によってm列の値を見て、n列に返す値が変わってきます。 その処理を2行目から最下行迄、繰り返し処理をしたいと思っています。 例えば、2行目のf列が数学、m列が100と入ってたとします。 数学の場合、m列の値が179以下なら、n列は空白で180以上なら「期限切れ」とn列に表示させたいと思います。 この場合、m列が100なのでn列は空白にしたいと思います。 次に3行目が国語で、m列が377とします。 国語の場合、m列が364以下ならn列は空白で、365以上なら「期限切れ」とn列に表示させたいと思います。 この場合、m列が377なので、n列は期限切れにしたいと思います。 このようなことをvbaでしたいと思います。 どうすれば良いでしょうか? よろしくお願いします。
回答: マクロです sub test() dim 科目名 as string dim m列 as integer dim n列 as string dim i as long for i = 2 to range("f65536").end(xlup).row 科目名 = cells(i, 6).value m列 = cells(i, 13).value select case 科目名 case "数学" if m列 <= 179 then n列 = "" else n列 = "期限切れ" end if case "国語" if m列 <= 364 then n列 = "" else n列 = "期限切れ" end if end select cells(i, 14).value = n列 next i end sub 参考程度に