我希望能夠在一個文件夾中獲取x個文件並將它們全部放在同一工作簿的單獨表單上。文本框輸入字符串並重新使用
我發現這個代碼有效;
Public Sub consolWB()
Dim FSO As Object
Dim folder As Object, subfolder As Object
Dim wb As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
folderPath = "C:\Users\patrickw\Desktop\exceltest"
Set folder = FSO.GetFolder(folderPath)
With Application
.DisplayAlerts = False
.ScreenUpdating = False
.EnableEvents = False
.AskToUpdateLinks = False
End With
For Each wb In folder.Files
If Right(wb.Name, 3) = "xls" Or Right(wb.Name, 4) = "xlsx" Or Right(wb.Name, 4) = "xlsm" Then
Set openWB = Workbooks.Open(wb)
For Each ws In openWB.Worksheets
ws.Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Next ws
openWB.Close
End If
Next wb
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.EnableEvents = True
.AskToUpdateLinks = True
End With
End Sub
然而,這隻能因爲我已經把目標文件路徑爲它去看你。
我想創建一個按鈕,提示用戶輸入文件路徑,然後使用該文件路徑,使在文件中。
我想我必須使輸入一個字符串,然後在上面的代碼中使用此變量。
這是可能的嗎?
在上面的例子中,新工作表被稱爲「工作表1 ...」是否可以自己命名這些工作?
感謝
你希望他們輸入到一個盒子他們想要的東西,輸入到單元格,或者彈出一個框,他們可以瀏覽並選擇一個文件夾?或者是其他東西。 – QHarr
我最初想要一個下拉框,然後他們可以選擇正確的文件。無論我如何做,我必須能夠使用該字符串作爲我的其他宏中的查找,如果這樣做有道理的話? –
這裏是一個例子https://stackoverflow.com/questions/25153342/open-a-workbook-using-filedialog-and-manipulate-it-in-excel-vba – QHarr