【发布时间】:2020-02-29 08:50:11
【问题描述】:
在根据参考号应用过滤器后,我正在尝试使用注册表单(“TK_Register”)中的数据更新工作表(“EditEx”)。不会超过 20 行。
我的问题与复制和粘贴有关。
如果要复制的数据位于前 20 行,它会复制并粘贴数据,但还会复制空白行直到第 21 行(在我的 DBExtract 范围中设置)。
如果要复制的数据在前 20 行之后,我会收到 1004 错误。过滤器确实发现有数据,但是我的复制代码只查看前 20 行。
如何让复制过滤的行动态工作而不复制空白行(如果我将复制范围设置为“A:K”也会发生这种情况)? 谢谢
Sub UpdateInputWithExisting()
ActiveCell.Offset(0, 1).Select
Set RefID = ActiveCell
Sheets("TK_Register").Range("A1:N1000").AutoFilter field:=12, Criteria1:=RefID
Dim DbExtract, DuplicateRecords As Worksheet
Set DbExtract = ThisWorkbook.Sheets("TK_Register")
Set DuplicateRecords = ThisWorkbook.Sheets("EditEx")
DbExtract.Range("A2:K21").SpecialCells(xlCellTypeVisible).copy
DuplicateRecords.Cells(32, 3).PasteSpecial xlPasteValues
On Error Resume Next
Sheets("TK_Register").ShowAllData
On Error GoTo 0
ActiveWorkbook.RefreshAll
Sheets("EditEx").Select
Range("B13").Select
MsgBox ("Record Retrieved. Make your changes and ensure you click 'Save Changes' to update the Master Registers")
End Sub
【问题讨论】: