ちょっと煽られただけですぐ感情的に反論するとか、どんだけ子供なんだよ
気に入らないレスは無視しろ
正論でも印象悪い
書き間違いが多すぎる
書き込む前に3回読み直せ

strRowPosA = A ← これは不可能。こういう書き方だとAは変数名になってしまう

やるならこう

strRowPosA = "A"
strRowPosN = Cells(, strRowPosA).Column

さらに言えば、ワークシートのA、B、C…はRowじゃなくてColumnだから、全体を修正すると

Dim strColumnPosA as String
Dim strColumnPosN as Integer

strColumnPosA = "A"
strColumnPosN = Cells(, strColumnPosA).Column

If c = strColumnPosN And r <= 10 Then