VBA帮助解决了根据条件复制,过滤和粘贴到行中的代码

时间:2019-01-09 01:54:06

标签: excel vba

目标:当工作表RP中的数字W(即非空白)时,该特定行的数据需要复制到工作表“计算数据”的下一个空行中。但是,所讨论的数据顺序不正确,即工作表RP的A行= / = ACC#教区。

因此需要遵循=如果W列不为空白,则将B列(行不为空白),D列(行不为空白),A列(行不为空白)等复制到工作表Calc中的下一个空行,列A-P(如适用)。

工作表以以下格式收集数据 Calc Data, copying into last empty row here

包含需要处理的数据的工作表 Column in question

帮助解决代码:我已经启动了我的代码,但是我仍然坚持如何继续,即使我走在正确的轨道上!列表列开始超出范围,我不确定如何使它仅过滤非空白范围,或者如何将特定数据的列复制到特定行的末尾行(A-Q)订购!

Dim RPDataTbl As ListObject
Dim parishCol As ListColumn, LossRentcol As ListColumn, parishcodeCol As ListColumn, buildnoCol As ListColumn, insuredassCol As ListColumn, crestaCol As ListColumn, basiscoverCol As ListColumn

Dim copyRng As Range

Set RPDataTbl = Sheets("Risk Partner Data").ListObjects("RPdata")
With RPDataTbl
    Set parishCol = .ListColumns("Parish")
    Set LossRentcol = .ListColumns("Loss of Income or Rent")
    Set parishcodeCol = .ListColumns("Parish Code")
    Set crestaCol = .ListColumns("Cresta")
    Set basiscoverCol = .ListColumns("Basis of Cover")

    .Range.AutoFilter Field:=LossRentcol.Index, Criteria1:= <not blank?>
End With

On Error Resume Next
Set copyRng = parishCol.DataBodyRange.SpecialCells(xlCellTypeVisible)
On Error GoTo 0

If Not copyRng Is Nothing Then
    copyRng.Copy

    With Sheets("Calc Data")
        .Cells(.Rows.Count, "A").End(xlUp).Offset(1).PasteSpecial xlPasteValues
    End With

    Application.CutCopyMode = False
End If

谢谢大家!

0 个答案:

没有答案