工作表(1)忽略隐藏的工作表

时间:2018-03-15 15:49:00

标签: excel vba excel-vba

我一直在努力通过一个宏来合并来自所选工作簿的整个文件夹的第一个可见工作表。有了很多帮助,我有代码在每个工作簿中的第一个工作表,但它正在拾取隐藏的工作表,我只想要第一个可见的工作表。这是迄今为止的代码:

Option Explicit

Function GetFolder(strPath As String) As String
Dim fldr As FileDialog
Dim sItem As String
Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
With fldr
    .Title = "Select a Folder"
    .AllowMultiSelect = False
    .InitialFileName = strPath
    If .Show <> -1 Then GoTo NextCode
    sItem = .SelectedItems(1)
End With
NextCode:
GetFolder = sItem
Set fldr = Nothing
End Function


Sub CombineFiles()

    Dim Path            As String
    Dim FileName        As String
    Dim Wkb             As Workbook
    Dim WS              As Worksheet

    Application.EnableEvents = False
    Application.ScreenUpdating = False
    Path = GetFolder("Navigate to folder")
    FileName = Dir(Path & "\*.xl??", vbNormal)
    Do Until FileName = ""
        Set Wkb = Workbooks.Open(FileName:=Path & "\" & FileName, ReadOnly:=True, UpdateLinks:=False)
            Wkb.Worksheets(1).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
            Wkb.Close False
            FileName = Dir()
    Loop
    Application.EnableEvents = True
    Application.ScreenUpdating = True

End Sub

1 个答案:

答案 0 :(得分:0)

您可以循环直到找到可见的工作表

2018-03-14 01:30 | 2018-03-14 01:30 | 192.168.0.150 | user1