Hej! Jag är ny här och även ny på VBA och makron. Med hjälp av google och lite justeringar så har jag idag ett gäng makron som hämtar viss information från excelfiler i en mapp och samlar det i en viss kolumn i aktuell arbetsbok. Excelfilerna som informationen hämtas ifrån öppnas och stängs med varje makro. Då det handlar om samma filer (över 100 st) som informationen ska hämtas ifrån hade det varit bra om en enda makro kunde hämta all information på en gång när filen ändå är öppen, men jag behöver hjälp med hur jag kan slå ihop det? (jag vill alltså att den ska hämta all information från en fil i taget och stänga den innan den hämtar från nästa)
Dessutom kommer filerna när jag kör skarpt att ligga i undermappar, hur kommer jag åt det utan att köra flera makron?
Aktuell kod (och motsvarande för kolumn B-F);
Public Sub Copy_Values_From_WorkbooksA()
Dim folderPath As String
Dim fileName As String
Dim destCell As Range, r As Long
Dim fromWorkbook As Workbook
'Folder containing the workbooks
folderPath = "I:\Tidrapporter\2021\Mars\Tester\"
If Right(folderPath, 1) <> "\" Then folderPath = folderPath & "\"
With ThisWorkbook.ActiveSheet
Set destCell = .Cells(.Rows.Count, "A").End(xlUp)
If Not IsEmpty(destCell.Value) Then Set destCell = destCell.Offset(1)
End With
'Open file names matching *.xlsx
fileName = Dir(folderPath & "*.xlsx")
r = 0
Do While fileName <> vbNullString
Set fromWorkbook = Workbooks.Open(folderPath & fileName)
destCell.Offset(r).Resize(1, 1).Value = fromWorkbook.Worksheets("Tidrapport").Range("C2").Value
r = r + 1
fromWorkbook.Close savechanges:=False
DoEvents
'Get next file name
fileName = Dir
Loop
MsgBox "Finished"
End Sub