我正在運行VBA腳本,以便對選定文件夾中每個文件的行數進行計數,然後將其顯示在活動工作簿中。如何使用VBA中單元格的文件路徑?
Option Explicit
Sub CountRows()
Dim wbSource As Workbook, wbDest As Workbook
Dim wsSource As Worksheet, wsDest As Worksheet
Dim strFolder As String, strFile As String
Dim lngNextRow As Long, lngRowCount As Long
Application.ScreenUpdating = False
Set wbDest = ActiveWorkbook
Set wsDest = wbDest.ActiveSheet
strFolder = Dir(Range("C7").Value)
strFile = Dir(strFolder & "*.xlsx")
lngNextRow = 11
Do While Len(strFile) > 0
Set wbSource = Workbooks.Open(Filename:=strFolder & strFile)
Set wsSource = wbSource.Worksheets(1)
lngRowCount = wsSource.UsedRange.Rows.Count
wsDest.Cells(lngNextRow, "F").Value = lngRowCount
wbSource.Close savechanges:=False
lngNextRow = lngNextRow + 1
strFile = Dir
Loop
Application.ScreenUpdating = True
End Sub
Chooing一個文件夾,我想用插在一個活動工作簿細胞「C7」,而不是在腳本編寫目錄的目錄。 我試圖取代:
strFolder = "C:\Users\user\Desktop\"
與
strFolder = Dir(Range("C7").Value)
,但它不工作。也許有人有任何想法?謝謝!
嘗試向您的'Range'添加完全限定的名稱,如下所示:'Workbooks(「wbName」)。Worksheets(「shName」)。Range(「C7」)' –
我不知道是否有任何不同之處可能會發生:但是對於我的id做了「按原樣」:我把它放到C7中:C:\ Users \ tstracke \ Desktop \ U-Wert-Rechner \ test 在你的文檔中,我在單元格F11中插入了數字21。 21是指定文件夾中一個文檔中的行數。 –
對不起,我沒有得到它。我的意思是我應該如何定義strFolder? – Ale