发出问题以在VBA中选择从第一个单元格到我的M列中使用的最后一个单元格的所有范围

时间:2019-01-29 10:17:44

标签: excel vba variables

enter image description here

我有一个小宏,该宏选择我在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

2 个答案:

答案 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")