2
我在Excel中具有以下命名範圍。Excel-VBA .Range(「NamedRange」)。行返回一個不同的行然後在範圍位於
我也有下面的代碼與命名工作範圍:
With wsVehicleSummary
With .Range(.Cells(.Range("VehicleList").Row, 1), .Cells(.Range("VehicleList").Row, .Range("K1").Column)).Offset(1)
.PasteSpecial xlPasteValues
.Resize(.Range("VehicleList").End(xlDown).Row - .Range("VehicleList").Row, 11).RemoveDuplicates 1, xlYes
.Resize(.Range("VehicleList").End(xlDown).Row - .Range("VehicleList").Row, 11).Sort "Veh #", xlAscending, Header:=xlYes
End With
問題在刪除重複出現打電話,我已經收窄到下降的事實,.Range("VehicleList").Row
相當於40,當它應該是20(如截圖所示)。
我已經在運行時調試這一點,很困惑,爲什麼?.Range("VehicleList").Row
被返回的40,而不是20
雖然,我寫這篇文章,我不知道是否有我怎麼叫範圍在用做塊和我如何使用Resize。
任何意見或建議?
您正在將.Range應用於另一個.Range而不是工作表。在開始處將行號存儲在變量中,只是指向該變量。 – Rory
Thanks @Rory。我想我明白你在說什麼。可能在這裏放置一個變量會使它更容易閱讀和維護!有時候我太狡猾了,因爲我自己的好:) –
或者你可以使用'.Parent.Range(' – user3598756