【发布时间】:2014-12-04 06:11:01
【问题描述】:
我正在尝试使用 VBA 处理工作表中的一些行。我想将一组行从一张纸剪切并粘贴到另一张纸上,并努力找出我需要标识的代码并选择最后一行来标识整个范围。
我想要的行由 A 列中的值标识,假设该单元格中的值是“Dept1”,然后我需要复制该行和单元格中具有该值的任何其他行。
然后这些值将被粘贴到我与标题一起创建的另一个工作表中。
我的第一次尝试是按 A 列对数据进行排序,然后循环遍历数据,直到找到第一个带有“Dept1”的单元格,然后将此单元格地址放入变量中,但我还需要标识最后一个'dept1' 值,因此我可以获取此行号。
我目前的代码是这样的,它只将第一个单元格地址放入变量中,但还需要最后一个单元格地址来创建我想要选择和剪切的范围:
With wb.ActiveSheet
'Call sortorder sub to sort Department field
SortOrder
For i = 1 To lastcol
'find department named column
If .Range(ConvertToLetter(i) & 1).Value = "department" Then
For j = 2 To MaxRowCount
If .Range(ConvertToLetter(i) & j).Value = "Dept1" Then
'Get first cell address here to build range for 'dept1' data
firstRangeNumber = ConvertToLetter(i) & j
RHSCRange = firstRangeNumber & ":"
' Create code to populate LastRangeNumber variable as explained below
' work out how to get last cell address number with 'dept1'
' and use lastcol variable value combined with last cell row number(j)
' to create last cell address for range. Finally combine first and
' last variables to create complete range, select and cut range to
' New sheet
End If
Next
End If
Next
End With
【问题讨论】: