.Value
находится не в том месте. (Или вы могли бы сказать, что скобка не в том месте). Исправляя это, вы получаете:
.Range("A2", .Range("A" & Rows.Count).End(xlUp)).Value
С вашим текущим кодом .Value
означает в вызове Range
, поэтому вы пытаетесь использовать значение ячейки, а не сама ячейка , как второй аргумент.
Вы хотите, чтобы это было снаружи.
В противном случае, если значение последней ячейки равно "foo", то ваш код эквивалентен
Range("A2", "foo")
, что, безусловно, не то, что вы хотите.