VBA脚本问题 - 查找函数返回错误

时间:2018-06-07 03:38:39

标签: excel-vba visual-studio-2017 vba excel

免责声明:好的,首先要做的事情 - 我是VB脚本的新手,所以测试和编译目前还是一个学习曲线......

我的目标:请在我错误的地方纠正我 - 我目前正在使用Visual Studio 2017来编辑和测试我的VB脚本,我需要它来执行以下操作:

  1. 在给定文件夹上运行,查找任何Excel .xlsx文件
  2. 在每个文件中名为“Setup”的工作表上查找值为“Date”的单元格
    • 如果不存在,请跳过文件
    • 如果是 - 将其右侧的单元格更新为今天的日期
  3. 刷新文件中的所有连接,保存并继续下一个
  4. 重复所有操作
  5. 到目前为止,它确实打开了给定文件夹中的所有文件,刷新了连接,保存和关闭 - 但是我需要它来执行上面的第2步 ..不要介意注释掉的部分正在努力。

    当前状态

    第一次尝试看起来如下(尽管不完整) - 现在在构建解决方案时遇到错误,说我需要“声明”xlValues,xlWhole和xlByRows,它们应该是Find函数的所有部分作为参数吗?

    Module RefreshAll_Folder
    Sub Main()
                    Dim ConnectivityPath, RefreshDate, fso, xl, EOMloop, SetupPage, wb
                    Dim sval As Range
    
                    '--- Set variables ---
                    SetupPage = "Setup"
                    RefreshDate = Now
                    ConnectivityPath= "<networkpath>\Connectivity"
    
                    fso = CreateObject("Scripting.FileSystemObject")
                    xl = CreateObject("Excel.Application")
                    EOMloop = fso.GetFolder(ConnectivityPath).Files
    
    
                    '--- FOR CONNECTIVITY ---
    
                    xl.Visible = True
    
                    For Each f In EOMloop
                        If LCase(fso.GetExtensionName(f.Name)) = "xlsx" Then
                            wb = xl.Workbooks.Open(f.Path)
                            wb = wb.Sheets(SetupPage).Range("A1:F7")
    
                            sval = wb.Find(What:="Date", LookIn:=xlValues,
                                    LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
                                    MatchCase:=False, SearchFormat:=False)
    
                            wb.select(sval)
    
                            ' wb.Worksheets("Setup").Range("B2").Value = Now
                            '    wb.RefreshAll
    
                            wb.Save
                            wb.Close
                        End If
                    Next
    
                    xl.Quit
                End Sub
    End Module
    

    提前感谢您的帮助!

0 个答案:

没有答案