删除命名范围内的重复项

remove duplicates in named range

我有一个问题,我相信你会找到一个简单的解决方案 我对这个感到头疼

我有代码从另一个工作簿复制一个范围,将其粘贴到当前工作簿,然后删除重复项

问题是,删除重复项后,它认为范围仍然与删除重复项之前一样长(包括空格)

示例:

allcontacts 是第 1-10 行

我从另一个工作簿粘贴 10 行 3 个是新的,所以它删除了 7 个重复项

我的范围(在名称管理器中)应该是 1:13,但它显示 1:20,底部有 7 个空格

'Dim currentworkbook As String
'currentworkbook = ActiveWorkbook.Name
'Workbooks.Open ("q:\mis\_estimatorm1.xlsm")
  'Workbooks("_estimatorm1.xlsm").Worksheets("contacts").Range("Allcontacts").Copy
'Workbooks(currentworkbook).Activate
'Sheets("contacts").Rows("3:3").Select
'Selection.Insert Shift:=xlDown
'Application.CutCopyMode = False

 '     Sheets("contacts").Activate
 '     Cells.Replace What:="0", Replacement:="", LookAt:=xlWhole, SearchOrder _
  '      :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

ActiveSheet.Range("allcontacts").RemoveDuplicates Columns:=Array(1, 3, 4), Header:=xlNo


'Columns("A:m").Select

   ' ActiveWorkbook.Worksheets("CONTACTS").Sort.SortFields.Clear
    'ActiveWorkbook.Worksheets("CONTACTS").Sort.SortFields.Add Key:=Range( _
     '   "A2:A2000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
      '  xlSortNormal
    'With ActiveWorkbook.Worksheets("CONTACTS").Sort
     '   .SetRange Range("A1:m2000")
      '  .Header = xlYes
       ' .MatchCase = False
        '.Orientation = xlTopToBottom
        '.SortMethod = xlPinYin
        '.Apply
    'End With
Sheets("QUOTE").Activate
Range("A10").Select

除了我知道引起问题的那行代码外,我做了所有笔记

返回公式 ► 名称管理器并重新定义您的 allcontacts 命名范围,以便 Refers to: 是动态的。像,

'allcontacts Refers to:
=CONTACTS!$A:INDEX(CONTACTS!$M:$M, MATCH("zzz", CONTACTS!$A:$A))

假定 A 列中的文本,并且 A 列通常总是在应有值时具有值。如果您在 A 列中有数字,那么它将是

'allcontacts Refers to:
=CONTACTS!$A:INDEX(CONTACTS!$M:$M, MATCH(1e99, CONTACTS!$A:$A))