1
我正在與某個必須在excel文件中標識某些變量的人一起工作。目前,我正在使用的人有大量的文件夾和子文件夾,其中包含Excel文檔。他使用的VBA代碼在一個文件夾中查找子文件夾,然後返回該路徑,然後創建超鏈接到子文件夾(這不是下面的VBA代碼的一部分)並查看所有的excel文件,無論主文件夾內的子文件夾的級別如何。使用VBA從Excel文件中檢索列標題
下面的代碼:
Sub GetFolders()
Dim path As String
Dim folder As String
Dim row As Integer
path = "your directory here"
folder = Dir(path, vbDirectory)
row = 1
Do While folder <> ""
If (GetAttr(path & folder) And vbDirectory) = vbDirectory Then
Cells(row, 1) = path & folder
row = row + 1
End If
folder = Dir()
Loop
End Sub
這是偉大的,但我知道必須有一個更好的辦法。我該如何處理這段代碼,才能返回文件夾中找到的任何Excel文件的COLUMN HEADERS A)或文件夾中包含的子文件夾內的B)。我希望將這些數據返回到Excel電子表格中,以便不需要打開100個Excel文檔,而只需要打開這個文檔,然後我們就可以識別出需要進一步調查並忽略其餘部分的任何Excel電子表格。
擴展您所擁有的循環並打開找到的每個工作簿都是相對直接的。您必須做出的決定是a)該工作簿中的列標題在哪裏 - 只有一張紙,多張紙,所有紙張? b)這些表中的每一頁上的標題是哪一行 - 第1行還是其他行?當然可以...搜索這些想法並將一些代碼放在一起,然後回過頭來問一些你所做的事情。 – PeterT
它聽起來像你可能會更好地把它變成一個Access數據庫。這不是Excel真正爲其構建的類型。這就是說,找出爲什麼你必須通過所有的檢索這些特定的標題可能會幫助我們找到更好的解決方案。例如:如果文件之間的列不相同,是否有可以從文件夾位置找到的模式?列可以標準化並在一些文件中保留空白嗎? – TesseractE
使用Excel 2010或更高版本,您可以使用Power Query查詢文件夾中excel文件的列標題,而無需打開它們 – Slai