Excel 根据最新版本打开文件并计算行数
我希望在文件夹中打开特定文件的最新版本。然后,我希望计算行的总数,并返回此工作簿中单元格(K,2)中的值。以下是我目前掌握的情况: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
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文件正确复制。@CzesklebaDim 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是正确的,这应该可以解决它。此外,考虑使用查询进行此操作。它应该更快。您还可以将文件路径添加到靠近它的单元格中,以便轻松地对其进行更改。