在根据参考号应用过滤器之后,我正在尝试用来自寄存器表("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发布于 2019-11-04 13:11:45
我建议您将以下两行更改为(假设您的表没有任何与表相邻的数据):
Sheets("TK_Register").Range("A1").CurrentRegion.AutoFilter field:=12, Criteria1:=RefID 还有这个:
DbExtract.Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).copyhttps://stackoverflow.com/questions/58686628
复制相似问题