Я написал код на VBA, который может импортировать несколько файлов Excel в книгу. Меня интересовало не только копирование данных в файлы и вставка на отдельные листы в целевой книге, но и копирование имен листов, чтобы новые листы могли иметь то же имя, что и оригинал. Теперь он может копировать файлы в целевую книгу, однако ему не удалось скопировать имена листов. Например, если имя импортированного листа оказалось «data1», имя конечных листов должно автоматически измениться на «data1». Любая помощь или предложение приветствуются.
FileToOpen = Application.GetOpenFilename(fileFilter:="Excel File (*.xlsx),*.xlsx", Title:="Select workbook to Import", MultiSelect:=True)
'if the user select a workbook, it is stored as an array in the FileToOpen
If IsArray(FileToOpen) Then
' loop throught the workbooks and open
For FileCnt = 1 To UBound(FileToOpen)
Set SelectedBook = Workbooks.Open(Filename:=FileToOpen(FileCnt))
' before Copy and paste the data , clear the sheets cell
SelectedBook.Worksheets.Copy after:=ThisWorkbook.Sheets(1)
SelectedBook.Close
Next FileCnt
MsgBox "Data Imported successfully", vbInformation, "Good Job"
Else
' ask the user to select a file
End If 'isArray