具体说明:我需要打开各个文件
例如File1,File2,File3,File4...
每个File的文件sheet名字大体命名为:history, Ver 1.5, Ver 1.31, Ver XXX,还有其他一些命名我现在需要取里面最高的版本,如上则取Ver 1.5的该Sheet,但是各个名字也不都一样。
我以前直接用Sheets(2),后来发现最高版本的不都是第2个sheet。麻烦能人能指点一二,谢谢挑战一下吧VBAExcelSheets

解决方案 »

  1.   

        Dim Xlsheet As Worksheet, Xlsheet1 As Worksheet
        Dim Max As Double, Num As Double
        For Each Xlsheet In ActiveWorkbook.Worksheets
            If IsNumeric(Trim(Mid(Xlsheet.Name, 4))) Then
                Num = CDbl(Mid(Xlsheet.Name, 4))
                Set Xlsheet1 = IIf(Num > Max, Xlsheet, Xlsheet1)
                Max = IIf(Num > Max, Num, Max)
            End If
        Next
            Xlsheet1.Activate
      

  2.   

    这段代码是不是Xlsheet1应该初始化一下,初始化的方式是不是应该  Xlsheet1 = ActiveWorkbook.worksheets(1)我的这个说法对不对,麻烦楼下的各位能给个意见
      

  3.   

    如果你的工作簿可能一个VER 1.5 这样的表名都没有的话,那你就初始化吧。
    如果保证都有这样的表名那就不用初始化了。因为Max=0,只要有一个 VER 1.5 这样的表名,那肯定会大于0的。