วิธีสร้าง Folder อัตโนมัติใน Excel ด้วย VBA (ชื่อ Folder ไทยได้ ไม่มีปัญหา)

วิธีเพิ่มเมนู Developer ให้กับ Excel (สำหรับคนที่ยังไม่เปิดการใช้งาน): https://youtu.be/TL66up0Ihzw

บันทึกมาโครลง Personal Macro Workbook เรียกใช้ codeได้ไม่ต้องเขียนใหม่ : https://youtu.be/iOMppHDsuO0

ไฟล์สำหรับบทความนี้ : กดที่นี่เพื่อดาวน์โหลด

วิธีการนำโค้ด VBA ไปใช้งาน :

  1. เปิด Excel และกด Alt + F11 เพื่อเปิด VBA Editor.
  2. คลิกที่ Insert แล้วเลือก Module.
  3. คัดลอกโค้ดด้านล่างนี้ไปวางใน Module ที่เปิดขึ้นมา.

VBA Code

Sub CreateFoldersFromSelectionWithDialog()
    Dim selectedRange As Range
    Dim cell As Range
    Dim folderPath As String
    Dim folderName As String
    Dim dialog As FileDialog

    ' เปิดหน้าต่างเลือกโฟลเดอร์
    Set dialog = Application.FileDialog(msoFileDialogFolderPicker)
    dialog.Title = "เลือกโฟลเดอร์ที่ต้องการวางโฟลเดอร์ย่อย"
    
    ' หากผู้ใช้กดตกลง ให้บันทึกเส้นทางโฟลเดอร์
    If dialog.Show = -1 Then
        folderPath = dialog.SelectedItems(1) & "\"
    Else
        MsgBox "ไม่ได้เลือกโฟลเดอร์!", vbExclamation
        Exit Sub
    End If

    ' ตรวจสอบว่ามีการเลือกช่วงเซลล์หรือไม่
    If TypeName(Selection) <> "Range" Then
        MsgBox "โปรดเลือกเซลล์ที่ต้องการก่อน!", vbExclamation
        Exit Sub
    End If

    ' กำหนดช่วงเซลล์ที่เลือก
    Set selectedRange = Selection

    ' ลูปสร้างโฟลเดอร์ตามค่าที่อยู่ในเซลล์ที่เลือก
    For Each cell In selectedRange
        folderName = cell.Value
        If folderName <> "" Then
            On Error Resume Next ' ข้ามกรณีที่โฟลเดอร์มีอยู่แล้ว
            MkDir folderPath & folderName
            On Error GoTo 0
        End If
    Next cell

    MsgBox "สร้างโฟลเดอร์ตามเซลล์ที่เลือกเรียบร้อยแล้วใน: " & folderPath, vbInformation
End Sub

== ขอบคุณ ChatGPT จาก OpenAI สำหรับการช่วยเขียนโค้ด VBA ในบทความนี้ 🙏💻

Leave a Reply