2014-12-03 43 views
0

我已经在网上搜索了这个答案,但无法将我找到的答案翻译成我想要做的。查找列的最大值的单元格,复制整行并粘贴第2行

我想找到范围的细胞(“L5:L” & LASTROW)最大价值,并复制整行,并将其粘贴在第2行。

我知道代码,以获得最大价值进入单元格L4。但我也想复制最大值所在的行。该代码如下所示。但如何选择和复制整个行?看起来像这么简单的事情,我不能得到它的工作。

所以这是我得到的值:

Range("L4").Value = Application.WorksheetFunction.max(Range("L5:L" & LastRow)) 

回答

0

下面将找到的最大值,在第一行用的最大值,并从最大值排走行值和填充第2行的结果。

Dim lngRow As Long 
Dim lngMax As Long 
Dim rngTemp As Range 
Dim rngCell As Range 
Dim lastRow As Long 

lastRow = Cells.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row 
Set rngTemp = Range("L5:L" & lastRow) 
lngMax = Application.WorksheetFunction.Max(Range("L5:L" & lastRow)) 

For Each rngCell In rngTemp 
    If rngCell.Value = lngMax Then 
     lngRow = rngCell.Row 
     Exit For 
    End If 
Next rngCell 

Rows(2).Value = Rows(lngRow).Value 
+0

我不完全理解这段代码..我得到你维的lastRow..and rngTemp和找到max与lngMax ..但你永远不会说rngCell是什么?所以,我明白for循环将找到具有最大值的行,然后设置longRow将该行的值与rngCell一起使用。但是,你能给出一些解释,说明在循环中做了什么吗? – dsunden 2014-12-05 09:39:36

+0

rngCell是一个Range变量,用于循环遍历rngTemp 例如,L5是L5到L范围内的单个单元,最后一行 循环正在检查范围(rngTemp)中的每个单元是否包含最大值 如果它包含最大值,则lngRow是它所在的行 – 2014-12-05 16:12:24

相关问题