Я работаю с кем-то, кто должен идентифицировать определенные переменные в файлах 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
Это здорово, но я знаю, что должен быть лучший способ. Как я могу манипулировать этим кодом, чтобы возвращать HEADERS COLUMN любых файлов Excel, найденных A) внутри папки или B) внутри подпапки, содержащейся в папке. Я хочу, чтобы они были возвращены в таблицу Excel, чтобы 100 из Excel документов не нужно было открывать, а скорее именно этот, а затем мы можем идентифицировать любые таблицы Excel, которые нуждаются в дальнейшем расследовании, и игнорировать остальные.
Это относительно просто, чтобы расширить цикл, который у вас есть, и открыть каждую найденную книгу. Решения, которые вы должны сделать, это: а) где заголовки столбцов в этой книге - только один лист, несколько листов, все листы ?; б) в какой строке находятся заголовки, расположенные на каждом из этих листов - строка 1 или другие строки? Это, безусловно, возможно ... найти вокруг этих идей и собрать код, затем вернуться и задать несколько вопросов о том, что вы сделали. – PeterT
Это похоже на то, что вам может быть лучше превратить это в БД доступа. Это не та вещь, для которой Excel действительно создан. Тем не менее, выяснение, почему вы должны пройти все это, чтобы получить эти конкретные заголовки, может помочь нам найти лучшее решение. Например: Если столбцы не совпадают между файлами и файлами, существует ли шаблон, который можно найти в папке? Можно ли стандартизировать столбцы и оставить в некоторых файлах пустыми? – TesseractE
С Excel 2010 или выше вы можете использовать 'Power Query' для запроса заголовков столбцов файлов excel в папках без их открытия. – Slai