Как вы можете видеть из кода, я пытаюсь загрузить одну книгу в excel. Есть ли способ выбрать несколько книг и загрузить их за один раз вместо повторного открытия диалога с файлом снова и снова?Загрузка нескольких книг в excel 2010
Private Sub OpenFileDialogue()
strCancel = "N"
strWorkbookNameAndPath = Application.GetOpenFilename _
(FileFilter:=strFilt, _
FilterIndex:=intFilterIndex, _
Title:=strDialogueFileTitle)
Workbooks.Open strWorkbookNameAndPath
End Sub
Public strDialogueFileTitle As String
Public strFilt As String
Public intFilterIndex As Integer
Public strCancel As String
Public strWorkbookNameAndPath As String
Public strWorkbookName As String
Public strWorksheetName As String
Public Sub CommandButton1_Click()
Dim wkbMasterWorkbook As Workbook
Dim wksMasterWorksheet As Worksheet
Dim wkbImportedWorkbook As Workbook
Dim wksImportedWorksheet As Worksheet
Dim rngImportCopyRange As Range
Application.ScreenUpdating = False
Set wkbMasterWorkbook = ThisWorkbook
Set wksMasterWorksheet = Sheets("Sheet1")
strFilt = "Excel Files (*.xls),*.xls," & _
"CSV Files (*.csv),*.csv,"
intFilterIndex = 1
strDialogueFileTitle = "Select The Workbook You Want To Import"
Call OpenFileDialogue
If strCancel = "Y" Then
MsgBox ("An Open Error Occurred Importing Your File Selection")
Exit Sub
End If
Set wkbImportedWorkbook = ActiveWorkbook
Set wksImportedWorksheet = wkbImportedWorkbook.Sheets("Sheet1")
Set rngImportCopyRange = Range(wksImportedWorksheet.Cells(1, 1), Cells(250, 1)).EntireRow
rngImportCopyRange.Copy
wksMasterWorksheet.Range("A" & Rows.Count).End(xlUp).Offset(0, 0).PasteSpecial Paste:=xlPasteValues, SkipBlanks _
:=False, Transpose:=False
wkbMasterWorkbook.Activate
Application.DisplayAlerts = False
wkbImportedWorkbook.Close Savechanges:=False
Application.DisplayAlerts = True
wksMasterWorksheet.Activate
wksMasterWorksheet.Cells(1, 1).Select
Application.ScreenUpdating = True
Worksheets("Sheet1").Visible = True
End Sub
спасибо за код, он отлично работает, как я уже спросил, но в моей программе возникает другая проблема, я вижу, я пытался открыть несколько книг в моем листе excel и скомпилировать их полностью в один лист (основная книга), предыдущий код делает это хорошо, но, насколько это возможно, предыдущий код может загружать только одну книгу за раз в мастер-лист. Итак, теперь проблема заключается в том, что когда я запускаю новый код, он открывает вторую книгу в новом excel вместо основного. – user2837847
конечно. :) он откроет только файлы. вам нужно добавить больше кода внутри 'For Loop', чтобы позаботиться о консолидации. попробуйте что-нибудь, и если вы где-нибудь застряли, просто обновите свой вопрос, и помощь уже в пути. – L42
Я загрузил остальные коды здесь, где я должен включить цикл? – user2837847