Gol*_*hop 2 excel vba excel-vba excel-2010
在找到产生所需结果的信息和/或解决方案时遇到问题,所以在这里.
现在,可能在生产时,我将在工作表上有一个名为范围的"模板".在第一次使用时,这个NamedRange只是rngNamed1在第一次使用之后,可能会有更多类似于这个的命名范围,比如说rngNamed30.
让我们说,在第二次运行之后rngNamed30,我需要再添加3个NamedRange,结果是rngNamed33.
我需要做的是基本上找到最后一个命名范围的最后一行和列,所以我知道从哪里开始复制数据并声明下一个命名范围.
Dim rng As range
Set rng = range("rngNamed1")
'Set rng = rng.Find("*", rng.Cells(1, 1), xlFormulas, xlPart, xlByRows, xlPrevious, False)
Debug.Print rng.Find("*", rng.Cells(1, 1), , , , xlPrevious).Address
Run Code Online (Sandbox Code Playgroud)
大多数解决方案存在的问题是它们基于找到最后一个单元格数据.我只需知道范围的最后一个单元格,无论它是否包含数据.
您可以使用范围的Row和Rows.Count轻松完成此操作:
Sub NextRowAfterRange()
Dim ws As Worksheet
Dim rangeNom As String
Dim nextRow As Long
' Enter desired name here
rangeNom = "rngName1"
Set ws = ActiveSheet
nextRow = ws.Range(rangeNom).Row + ws.Range(rangeNom).Rows.Count
MsgBox nextRow
End Sub
Run Code Online (Sandbox Code Playgroud)