select 范围在 excel 宏中
select range in excel macro
无法select在宏中明确范围。
我的数据范围是 B4:N80(数据总是从 B4 开始,它可以到任何单元格)
所以我正在为 select 这个范围
创建宏
LastRow = DSheet.Cells(Rows.Count, 4).End(xlUp).Row
LastCol = DSheet.Cells(2, Columns.Count).End(xlToLeft).Column
Set PRange = DSheet.Cells(4, 2).Resize(LastRow, LastCol)
用上面的代码无法select从B4到"XX"
的整个数据
如果您的目标是select您需要添加的范围
PRange.Select
我也认为你的参数会有点偏差。正确的范围是
Set PRange = DSheet.cells(4, 2).Resize(LastRow - 4, LastCol - 2)
编辑:您的参数将关闭,因为您的起始范围是 B4。因此,例如,如果您的数据下降到 B10,则 LastRow 将设置为最后一个数据条目的行号,在本例中为 10。现在,如果您想扩展所需范围以包括所有数据条目,则不必将大小调整为 10 (LastRow),但调整为 6 (LastRow - 4),因为 4 + 6 = 10。在您的示例中,它将是 4 + 10 = 14,这比您的数据条目实际达到的要高。
声明所有变量,如果您只是想 select 范围,请使用 .Select
。
Sub test()
Dim LastRow As Long
Dim LastCol As Long
Dim PRange As Range
Dim DSheet As Worksheet
Set DSheet = ActiveSheet
LastRow = DSheet.Cells(Rows.Count, 4).End(xlUp).Row
LastCol = DSheet.Cells(4, Columns.Count).End(xlToLeft).Column
Set PRange = DSheet.Cells(4, 2).Resize(LastRow, LastCol)
PRange.Select
End Sub
这对你有用吗?
Sheets("DSheet").Activate
Range("B4").Select
Set PRange = Range(Selection, Selection.End(xlToRight).End(xlDown))
无法select在宏中明确范围。 我的数据范围是 B4:N80(数据总是从 B4 开始,它可以到任何单元格) 所以我正在为 select 这个范围
创建宏LastRow = DSheet.Cells(Rows.Count, 4).End(xlUp).Row
LastCol = DSheet.Cells(2, Columns.Count).End(xlToLeft).Column
Set PRange = DSheet.Cells(4, 2).Resize(LastRow, LastCol)
用上面的代码无法select从B4到"XX"
的整个数据如果您的目标是select您需要添加的范围
PRange.Select
我也认为你的参数会有点偏差。正确的范围是
Set PRange = DSheet.cells(4, 2).Resize(LastRow - 4, LastCol - 2)
编辑:您的参数将关闭,因为您的起始范围是 B4。因此,例如,如果您的数据下降到 B10,则 LastRow 将设置为最后一个数据条目的行号,在本例中为 10。现在,如果您想扩展所需范围以包括所有数据条目,则不必将大小调整为 10 (LastRow),但调整为 6 (LastRow - 4),因为 4 + 6 = 10。在您的示例中,它将是 4 + 10 = 14,这比您的数据条目实际达到的要高。
声明所有变量,如果您只是想 select 范围,请使用 .Select
。
Sub test()
Dim LastRow As Long
Dim LastCol As Long
Dim PRange As Range
Dim DSheet As Worksheet
Set DSheet = ActiveSheet
LastRow = DSheet.Cells(Rows.Count, 4).End(xlUp).Row
LastCol = DSheet.Cells(4, Columns.Count).End(xlToLeft).Column
Set PRange = DSheet.Cells(4, 2).Resize(LastRow, LastCol)
PRange.Select
End Sub
这对你有用吗?
Sheets("DSheet").Activate
Range("B4").Select
Set PRange = Range(Selection, Selection.End(xlToRight).End(xlDown))