我有一个小宏,该宏选择我在M列中使用的第一个单元格(宏中的变量第一行)。此宏还检测列M中使用的最后一个单元格(我的宏中的变量Lastrow)。从这一点来看,我希望宏从第一个单元格到最后一个单元格中选择M列中的所有单元格。我尝试通过输入以下指令来做到这一点: 范围(第一行和“ M:M”和最后一行),但出现错误消息“编译错误:属性的无效使用”
请在下面找到我的宏代码以及我的VBA代码的屏幕截图。 如果有人可以帮助您,那就太好了。 非常感谢 哈维
Sub Selectfromfirstrowusedtolastrowusedused()
Dim lastrow, Firstrow As Long
lastrow = ActiveSheet.Range("M" & Rows.Count).End(xlUp).Row
Firstrow = Range("M1").End(xlDown).Row
Debug.Print Firstrow
Debug.Print lastrow
Range (Firsttrow & "M:M" & lastrow)
End Sub
答案 0 :(得分:2)
您需要
Range("M" & Firsttrow & ":M" & lastrow).Select
因为使用范围是列然后行。另一种可能是
Range(cells(firstrow,"M"),cells(lastrow,"M")).Select
并不是说您几乎不需要select。
此外,在这一行
Dim lastrow, Firstrow As Long
lastrow被声明为变体,所以更好做
Dim lastrow As Long, Firstrow As Long
答案 1 :(得分:1)
正确的方法是
Range("M" & Firsttrow & ":M" & lastrow")