首页 > 解决方案 > 在不使用 select 的情况下选择一行中列的前 n 个值

问题描述

嘿,我刚刚在此站点上找到了一个很棒的代码,它允许您动态选择一行中列的 n 个底部值。使用以下代码:

Dim LastRow, a As Long

LastRow = Cells(Rows.Count, "K").End(xlUp).Row

Range("K" & LastRow - 2 & ":K" & LastRow).Copy 

我上面的代码选择了底部的 2 个值。有什么办法可以选择单元格中列的两个最高值?我试图通过修改我的代码来做到无脑

Dim LastRow, a As Long

firstRow = Cells(Rows.Count, "K").End(xlDown).Row

Range("K" & firstRow + 2 & ":K" & firstRow).Copy

但是,这似乎并没有起到作用。此外,在我想要选择前 10 个值的行列中,上面有一个字符串/文本,我该如何处理?

标签: excelvba

解决方案


Dim Firstrow As Long
Dim RowsToCopy As Long

' First row is 2 if there is a header text, else 1.
Firstrow = 2
RowsToCopy = 2

' Copy 2 rows starting at 'Firstrow'
Range("K" & Firstrow & ":K" & Firstrow + (RowsToCopy - 1)).Copy

推荐阅读