EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)Code: Select all
Sub GetSheets()
' Collect Sheets by browse folder directory
Dim Get_Path As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With Application.FileDialog(msoFileDialogFilePicker)
Clicked = .Show
If Clicked = 0 Then 'The Cancel button or the X is clicked.
Exit Sub
ElseIf Clicked <> 0 Then ' if OK is pressed
Get_Path = .SelectedItems(1) & "\"
End If
Path = Get_File
End With
Filename = Dir(Path & "*.xlsx")
Do While Filename <> ""
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Code: Select all
Sub GetSheets()
' Collect Sheets by browse folder directory
Dim Get_Path As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
' With Application.FileDialog(msoFileDialogFilePicker)
' Clicked = .Show
' If Clicked = 0 Then 'The Cancel button or the X is clicked.
' Exit Sub
' ElseIf Clicked <> 0 Then ' if OK is pressed
' Get_Path = .SelectedItems(1) & "\"
' End If
'Path = Get_File
'End With
'Filename = Dir(Path & "*.xlsx")
'Do While Filename <> ""
Get_Path = Application.GetOpenFilename("Excel file(*.xls*),*.xls*")
If Get_Path = "False" Then Exit Sub
Workbooks.Open Filename:=Get_Path, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
Next Sheet
Workbooks(VBA.Split(Get_Path, "\")(UBound(VBA.Split(Get_Path, "\")))).Close
'Filename = Dir()
'Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
snasui wrote: Wed Feb 09, 2022 8:35 am ตัวอย่างการปรับ Code ครับ
Code: Select all
Sub GetSheets() ' Collect Sheets by browse folder directory Dim Get_Path As String Application.ScreenUpdating = False Application.DisplayAlerts = False ' With Application.FileDialog(msoFileDialogFilePicker) ' Clicked = .Show ' If Clicked = 0 Then 'The Cancel button or the X is clicked. ' Exit Sub ' ElseIf Clicked <> 0 Then ' if OK is pressed ' Get_Path = .SelectedItems(1) & "\" ' End If 'Path = Get_File 'End With 'Filename = Dir(Path & "*.xlsx") 'Do While Filename <> "" Get_Path = Application.GetOpenFilename("Excel file(*.xls*),*.xls*") If Get_Path = "False" Then Exit Sub Workbooks.Open Filename:=Get_Path, ReadOnly:=True For Each Sheet In ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(VBA.Split(Get_Path, "\")(UBound(VBA.Split(Get_Path, "\")))).Close 'Filename = Dir() 'Loop Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub