Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 根据最新版本打开文件并计算行数_Excel_Vba - Fatal编程技术网

Excel 根据最新版本打开文件并计算行数

Excel 根据最新版本打开文件并计算行数,excel,vba,Excel,Vba,我希望在文件夹中打开特定文件的最新版本。然后,我希望计算行的总数,并返回此工作簿中单元格(K,2)中的值。以下是我目前掌握的情况: Sub CountRows() Dim SourceLocation As String Dim EndLocation As String Dim File As String Dim strdays As Integer Dim FSO As Object Dim f, f1, fc strday

我希望在文件夹中打开特定文件的最新版本。然后,我希望计算行的总数,并返回此工作簿中单元格(K,2)中的值。以下是我目前掌握的情况:

Sub CountRows()


    Dim SourceLocation As String
    Dim EndLocation As String
    Dim File As String
    Dim strdays As Integer
    Dim FSO As Object

    Dim f, f1, fc


    strdays = 2
    SourceLocation = "H:\location\"



    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set f = FSO.GetFolder(SourceLocation)
    Set fc = f.Files
    Dim LastRow As Long

    For Each f1 In fc
        If DateDiff("d", f1.DateLastModified, Date) < strdays And LCase(Left(f1.Name, 6)) = "myFile" Then
            Workbooks.Open f1
            LastRow = f1.Worksheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
            f1.Worksheets("Sheet1").Cells(2, 20).Value = LastRow

    Exit For

End If

Next

End Sub
Sub CountRows()
将SourceLocation设置为字符串
作为字符串的Dim ENDPLOCATION
将文件设置为字符串
将标准日期设置为整数
作为对象的Dim FSO
尺寸f、f1、fc
标准日=2
SourceLocation=“H:\location\”
设置FSO=CreateObject(“Scripting.FileSystemObject”)
Set f=FSO.GetFolder(SourceLocation)
设置fc=f.文件
最后一排一样长
对于fc中的每个f1
如果DateDiff(“d”,f1.DateLastModified,Date)

此时,此函数打开文件,但在开始计算行数时会中断

代码的颜色显示,您在
LastRow=…
行中忘记了一个“。这已经解决了它吗?不,很遗憾,没有-没有从VBA文件正确复制。@Czeskleba
Dim wb as Workbook
然后
set wb=工作簿。打开(f1)
然后使用wb而不是f1。f1不是excel工作簿对象。它也是
工作簿。打开(f1.Path)不只是F1SalcCi是正确的,而且应该修复它。也可以考虑用查询来做这件事。它应该更快。你也可以将文件名添加到它附近的一个单元,以便于对它进行更改。代码的着色显示,你忘记了一个“<代码> LSTROWE =…< /代码>行。这已经解决了吗?不,很遗憾,没有-没有从VBA文件正确复制@Czeskleba
将wb设置为工作簿,然后
设置wb=工作簿。打开(f1)
然后使用wb而不是f1。f1不是excel工作簿对象。它也是工作簿。打开(f1.Path)
不仅仅是f1Sorceri是正确的,这应该可以解决它。此外,考虑使用查询进行此操作。它应该更快。您还可以将文件路径添加到靠近它的单元格中,以便轻松地对其进行更改。