在vba中从Excel表头中删除重复项

3

我想在Excel 2016 VBA中从导入的XML文件中删除多个重复项。

可以使用数组实现:

ActiveSheet.Range("%tableName%").RemoveDuplicates Columns:=Array(8, 10, 12, 26, 40), Header:=xlYes

但是问题在于我并不总是知道我想要从中删除重复项的数据所在的列。这个星期可能是8、10、12、26、40,下个星期可能是9、10、15、26、40。
表头名称始终相同:
'8 = Range("%tableName%[udsendelses_dato]")
'10 = Range("%tableName%[start_tid]")
'12 = Range("%tableName%[udsendelses_titel]")
'26 = Range("%tableName%[Titel]")
'40 = Range("%tableName%[Varighed]")

你想删除整列吗,如果它具有与文档中其他某些列相同的标题?这就是你所问的吗? - Universus
可能需要编辑您的问题,以便您提出一个问题。 - Shawn C.
1个回答

4

这可能有更简单的方法,但由于它是一个表格(在Excel VBA中是ListObject),因此应该会做到:

With Sheet1.ListObjects("Table1")
    .Range.RemoveDuplicates Columns:=Array( _
        .ListColumns("udsendelses_dato").index, _
        .ListColumns("start_tid").index, _
        .ListColumns("udsendelses_titel").index, _
        .ListColumns("Titel").index, _
        .ListColumns("Varighed").index), _
        Header:=xlYes
End With

1
不错。很好地使用了列索引属性。 :) - Subodh Tiwari sktneer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接