【发布时间】:2020-08-05 16:20:19
【问题描述】:
我正在寻找一种方法来计算已关闭工作簿无需打开源文件(公式或宏)中的表中的行数。我有以下代码 sn-p 对范围执行此操作,但不适用于表格。
Dim FName1 As String
' Path to Family Mapping.xlsx
FName1 = "\\ent.acme.com\IMI\[Family Mapping.xlsx]"
'get row count of closed workbook [Family Mapping.xlsx] Worksheet "BMS-DES-POBA"
Const ShName1 As String = "BMS-DES-POBA"
Const ColNo1 As Integer = 1
Dim ShNew1 As Worksheet
Dim LastRow5 As Long
Dim LastRow6 As Long
Debug.Print FName1
Application.DisplayAlerts = False
Set ShNew1 = Worksheets.Add
With ShNew1.Range("A1")
.FormulaR1C1 = "=COUNTA('" & FName1 & ShName1 & "'!C" & ColNo1 & ")"
LastRow5 = .Value
End With
ShNew1.Delete
Application.DisplayAlerts = True
Debug.Print Trim(LastRow5) + 1 'add one row to count to account for Header row
我尝试了以下公式,但似乎没有任何效果:
.FormulaR1C1 = "=COUNTA('" & FName1 & ShName2 & "'!C" & ColNo12 & ")"
.FormulaR1C1 = "=ROWS('" & FName1 & ShName2 & "'!Table_Query[#Data])"
COUNTA 公式返回 1,048,576 行,这是电子表格的整个长度。当包含表的源文件关闭时,ROWS 公式返回 #REF。
我们将不胜感激。
【问题讨论】:
-
我只是猜测下班后躺在床上太累了,什么都做不了,但是您是否尝试过公式="countif('"your code,"*" &")" 或=not(countblank (,.. 等等。请原谅我筋疲力尽。在查看/研究引用封闭工作簿的特殊情况之前,我会用尽我所知道的所有选项和方法。..
-
您需要文件的完整路径。 .从它在您的机器中的位置。请参阅 - ozgrid.com/forum/index.php?thread/…。就是这样。我出去了。
-
所以上面的 sn-p 工作得很好。这是我插入错误的文件路径的错误。再次感谢。
标签: excel vba excel-formula