Sai từ căn bản sai ra.
Hai dấu nháy dùng để xác định một trị hằng (literal) dạng chuỗi (string)
"N4:N(r)" được VBA hiểu chính xác là một chuỗi như vậy; không hề có chuyện thay r (ví dụ là 123) vào thành "N4:N123".
Muốn nó thay thế thì phải dùng dạng biểu thức
"N4:N" & r --> đây là một biểu thức, trị hằng "N4:N" được nối (toán tử &) với trị biến r (123) thành biểu thức có giá trị "N4:N123"
Thực ra trong code ở bài #1, biến r chả dùng làm việc gì khác cho nên có thể cắt bỏ luôn:
Worksheets("Column Forces").Range("N4:N" & GetEndOfArray()).Select