VBA按值

时间:2016-07-22 18:19:54

标签: excel vba excel-vba

我有一个表包含同一文件的多个版本的数据。现在,我需要一个文件的最新版本,该文件在"之后具有较高的数字。 - " 例如

202674-15.xls

202674-15.xls

202674-15.xls

202674-15.xls

202674-15.xls

202674-15.xls

202674-15.xls

202674-18.xls

202674-18.xls

202674-18.xls

202674-18.xls

202674-18.xls

我有相当数量的这样的文件,并且它们不是全部相同,否则,我会找到最大值。我在想的是制作一个数组来读取所有文件然后为" - "之前的相同数字的文件类型创建不同的数组;然后找到这些文件中的最大值并保留具有此最大值的行集并对其进行过滤。我是vba的新手,所以我不知道我会从哪里开始,或者我会问什么问题,所以我感谢所有的帮助。

1 个答案:

答案 0 :(得分:0)

以下假设您的文件名在A列中。

将此公式放在列B =LEFT(A1,FIND("-",A1)-1)中,将此公式放在列C =MID(A1,FIND("-",A1)+1,FIND(".xls",A1)-FIND("-",A1)-1)中,然后按列B,列,A到Z对列ABC进行排序,然后添加一个级别,按列C排序,值,A到Z(如果你想要最高的话,Z到A)。

这将首先按照" - "之前的数字对所有文件进行排序。然后按" - "。

之后的数字