如何在电子表格中的数据最后一个单元格旁边的列中指定单元格,例如如果我在在vba中定义动态范围
Range(Cells(1, 1), Cells(lastRow, lastColumn))
有数据如何动态地定义
Range(Cells(1, 2), Cells(lastRow, n_lastColumn))
在功能,使得n_lastColumn
指下一列lastColumn
后?
如何在电子表格中的数据最后一个单元格旁边的列中指定单元格,例如如果我在在vba中定义动态范围
Range(Cells(1, 1), Cells(lastRow, lastColumn))
有数据如何动态地定义
Range(Cells(1, 2), Cells(lastRow, n_lastColumn))
在功能,使得n_lastColumn
指下一列lastColumn
后?
Range(Cells(1,1), Cells(lastRow, lastColumn)).offset(,1)
或
Range("A1").currentregion.offset(,1)
您可以使用对象上提供的UsedRange
属性。
但是请注意,这给你一个水印使用的范围,而不是目前使用的范围;即如果您在单元格中写入值,则将其删除,但仍然包含UsedRange
。
看来,当你在一个宏用它来更新'UsedRange'。经过一些测试后,我发现它不可靠。在某些时候,它会调整列而不是行,并保留包含从未填充过的单元格。 – arcadeprecinct
sub find_last()
Dim LastRow As Integer
Dim LastCol As Integer
Dim WS as Worksheet
Set WS = ThisWorkbook.Worksheets("MySheet")
LastRow = WS.Cells.Find(What:="*", After:=WS.Range("A1"), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False, MatchByte:=False).row
LastCol = WS.Cells.Find(What:="*", After:=WS.Range("A1"), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False, MatchByte:=False).Column
WS.Cells(LastRow, LastCol + 1) = "MyData"
end sub
请注意,如果您有稀疏的数据,“CurrentRegion”将停在空行/列处,这可能会导致不良行为。 – arcadeprecinct