从过滤范围切割后的空白行

时间:2013-02-08 13:14:03

标签: excel excel-vba excel-2007 vba

我正在使用以下代码设置过滤器并从过滤器中剪切某些数据并将其放入另一个标签中。

但是我有两个问题:

  1. 当我从过滤后的工作表中剪切数据(我正在使用.EntireRow.Cut)时,我在过滤器中留下了空白行。 如何在不留空行的情况下剪切数据?
  2. 我想Cut过滤数据(排除第1行中的标题)。我不能使用偏移量或.Resize,因为它将我带到一个隐藏的行(不包括在过滤器范围内)。 如何解决这个问题?
  3. 代码是:

    Lcol = FindLastCol(gcsCombinedKycExportsSheetName)
    Lrow = FindLastRow(gcsCombinedKycExportsSheetName)
    Set rngToCheck = Range(Sheets(gcsCombinedKycExportsSheetName).Cells(1, 1), _
        Sheets(gcsCombinedKycExportsSheetName).Cells(Lrow, Lcol)).Rows
    
    
    FieldNum = Sheets(gcsCombinedKycExportsSheetName).Cells.Find(What:=gcsSearchFund, After:=[a1], LookIn:=xlValues, _
        LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext).Column
    
    
    Sheets(gcsCombinedKycExportsSheetName).Rows(1).AutoFilter
    
    
    rngToCheck.AutoFilter Field:=FieldNum, Criteria1:= _
        "=*[2]*", Operator:=xlOr, Criteria2:="="
    
    
    Lrow = FindLastRow(gcsCombinedKycExportsSheetName)
    LrowRT = FindLastRow(gcsRemovedInvestors)
    
    
    Sheets(gcsCombinedKycExportsSheetName).Range(Sheets(gcsCombinedKycExportsSheetName).Cells(1, 1), _
        Sheets(gcsCombinedKycExportsSheetName).Cells(Lrow, 1)).EntireRow.Cut Sheets(gcsRemovedInvestors).Cells(LrowRT, 1)
    

1 个答案:

答案 0 :(得分:1)

在Siddharth Rout的全力支持下,我设法解决了这个问题:

我使用了以下内容:

.SpecialCells(xlCellTypeVisible)

这使我只能选择要切割的可见细胞。

我设置了动态范围并使用.Resize取消选择标题,因此我只剪切了已过滤的数据。

再次感谢您的支持。

夏兰。