บทความนี้แสดง 3 วิธีง่ายๆ ในการแปลงไฟล์ Excel ให้บันทึกเป็น CSV พร้อมเครื่องหมายคำพูดคู่ (double-quotes) การบันทึก CSV พร้อมเครื่องหมายคำพูดคู่จำเป็นเพื่อป้องกันการแทนที่ข้อมูลผิดพลาด ตัวอย่างเช่น แถวข้อมูล USD,25,000,Model1 ตัวคั่นคอมม่าอาจสับสน แต่ USD,“25,000”,Model1 จะเหมาะสมกว่า ภาพด้านล่างเน้นจุดประสงค์ของบทความ โปรดดูเพื่อเรียนรู้วิธีการ

คุณสามารถดาวน์โหลด Practice Workbook จากปุ่มดาวน์โหลดด้านล่าง
3 วิธีเร็วที่สุดในการบันทึก Excel เป็น CSV พร้อมเครื่องหมายคำพูดคู่
1. ใช้ Custom Format บันทึก Excel เป็น CSV พร้อมเครื่องหมายคำพูดคู่
สมมติว่าคุณมีชุดข้อมูลดังภาพ ต้องการบันทึกเป็น CSV พร้อมค่าของเซลล์ถูกล้อมรอบด้วยเครื่องหมายคำพูดคู่ ทำตามขั้นตอน:

📌 ขั้นตอน
- เลือกช่วงทั้งหมด (A1:B6) ของชุดข้อมูล
- กด CTRL+1 เปิดหน้าต่าง Format Cells
- เลือกรูปแบบ Custom จากแท็บ Number
- ใส่ \“#\”;\“@\” ในช่อง Type
- กด OK

- เลือก File >> Save As แล้วเลือกตำแหน่งที่ต้องการ
- ใส่ชื่อไฟล์ เลือก CSV (Comma delimited) (*.csv) เป็นประเภทไฟล์
- กด Save

- ไปที่ตำแหน่งที่บันทึก เปิดไฟล์ CSV ด้วย Text Editor (Notepad ฯลฯ)

- จะเห็นผลลัพธ์มีเครื่องหมายคำพูดคู่เพิ่มเติม

- กด CTRL+H เปิดหน้าต่าง Replace ใส่เครื่องหมายคำพูดคู่ในช่อง Find what โดยไม่เว้นวรรค ทิ้งช่อง Replace with ว่าง และเลือก Replace All
- สุดท้ายจะได้ผลลัพธ์ที่ต้องการ

อ่านเพิ่มเติม: How to Apply Macro to Convert Multiple Excel Files to CSV Files
2. ใช้ Windows PowerShell
อีกวิธีคือบันทึก CSV ไม่มีเครื่องหมายคำพูดคู่ก่อน แล้วค่อยเพิ่มด้วย Windows PowerShell ทำตามขั้นตอน:
📌 ขั้นตอน
- ไปที่ Worksheet ที่ต้องการบันทึกเป็น CSV
- เลือก File >> Save As เช่นวิธีก่อน
- เลือกตำแหน่ง ใส่ชื่อไฟล์
- เลือก CSV (Comma delimited) (*.csv) เป็นประเภทไฟล์
- กด Save

- จะได้ผลลัพธ์ดังภาพ

- กด SHIFT ค้างแล้วคลิกขวาที่พื้นที่ว่างในโฟลเดอร์ของไฟล์ CSV
- เลือก Open PowerShell window here

- คัดลอกคำสั่งต่อไปนี้ (เปลี่ยนชื่อไฟล์ตามของคุณ)
import-csv Sales1.csv | export-csv Sales2.csv -NoTypeInformation -Encoding UTF8- วางโค้ดในหน้าต่าง PowerShell แล้วกด Enter

- จะได้ผลลัพธ์ที่ต้องการ

อ่านเพิ่มเติม: How to Convert Excel File to Text File with Comma Delimited (3 Methods)
บทความที่คล้ายคลึง
- Macro to Convert Excel to Pipe Delimited Text File (3 Methods)
- How to Convert Multiple Excel Files to CSV (3 Suitable Ways)
3. ใช้โค้ด VBA สำหรับ CSV พร้อมเครื่องหมายคำพูดคู่
ยังสามารถใช้ Excel VBA ได้ ทำตามขั้นตอน:
📌 ขั้นตอน
- กด ALT+F11 เปิดหน้าต่าง VBA
- เลือก Insert >> Module ตามภาพ จะสร้าง Module ใหม่

- คัดลอกโค้ดด้านล่าง
Sub ExcelToCSV()
Dim rng, row, cell As Range
Dim dqt, dlim, text As String
Dim file As Variant
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
text = ActiveWindow.RangeSelection.AddressLocal
Else
text = ActiveSheet.UsedRange.AddressLocal
End If
Set rng = Application.InputBox("Please select the data range:", "ExcelDemy.Com", text, , , , , 8)
If rng Is Nothing Then Exit Sub
file = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")
dlim = Application.International(xlListSeparator)
Open file For Output As #1
For Each row In rng.rows
dqt = ""
For Each cell In row.Cells
dqt = dqt & """" & cell.Value & """" & dlim
Next
While Right(dqt, 1) = dlim
dqt = Left(dqt, Len(dqt) - 1)
Wend
Print #1, dqt
Next
Close #1
If Err = 0 Then MsgBox "The CSV file has been saved to: " & file, vbInformation, "ExcelDemy.Com"
End Sub
- วางโค้ดใน Module

- กด F5 รันโค้ด จะขอช่วงข้อมูล กลับไปที่ Worksheet เลือกช่วง แล้วกด OK จะไปที่หน้าต่าง Save As ทันที

- เลือกตำแหน่ง ใส่ชื่อไฟล์ กด Save

- Excel จะแสดงข้อความ

- ตรวจสอบผลลัพธ์

🔎 คำอธิบายโค้ด VBA
Sub ExcelToCSV()
เขียนโค้ดใน Sub Procedure นี้
Dim rng, row, cell As Range
Dim dqt, dlim, text As String
Dim file As Variant
ประกาศตัวแปรที่จำเป็น
On Error Resume Next
ข้ามข้อผิดพลาด
If ActiveWindow.RangeSelection.Count > 1 Then
text = ActiveWindow.RangeSelection.AddressLocal
Else
text = ActiveSheet.UsedRange.AddressLocal
End If
ตรวจจับข้อมูลที่เลือกอัตโนมัติ
Set rng = Application.InputBox(“Please select the data range:”, “ExcelDemy.Com”, text, , , , , 8)
ขอช่วงข้อมูล
If rng Is Nothing Then Exit Sub
ออกถ้าไม่มีอินพุต
file = Application.GetSaveAsFilename(“”, “CSV File (*.csv), *.csv”)
ตั้งค่ารูปแบบไฟล์ใหม่
dlim = Application.International(xlListSeparator)
ระบุคอมม่าเป็นตัวคั่น
Open file For Output As #1
สร้างไฟล์ใหม่
For Each row In rng.rows
dqt = “”
For Each cell In row.Cells
dqt = dqt & “””” & cell.Value & “””” & dlim
Next
While Right(dqt, 1) = dlim
dqt = Left(dqt, Len(dqt) – 1)
Wend
Print #1, dqt
Next
Close #1
ล้อมค่เซลล์ด้วยเครื่องหมายคำพูดคู่และเขียนลงไฟล์
If Err = 0 Then MsgBox “The CSV file has been saved to: ” & file, vbInformation, “ExcelDemy.Com”
ยืนยันการบันทึก CSV
อ่านเพิ่มเติม: How to Convert Excel Files to CSV Automatically (3 Easy Methods)
สิ่งที่ควรจำ
- ต้องระบุเส้นทางไฟล์ที่ถูกต้องในคำสั่ง PowerShell หากเปิดจากตำแหน่งอื่น
- ต้องเปลี่ยนชื่อไฟล์ตามไฟล์ของคุณ
สรุป
ตอนนี้คุณรู้วิธีแปลงไฟล์ Excel เป็น CSV พร้อมเครื่องหมายคำพูดคู่แล้ว โปรดแจ้งให้เราทราบว่าบทความนี้ช่วยคุณได้หรือไม่ สามารถใช้ส่วนความคิดเห็นด้านล่างสำหรับคำถามหรือข้อเสนอแนะเพิ่มเติม โปรดเยี่ยมชมบล็อก ExcelDemy เพื่อเรียนรู้เพิ่มเติม อยู่กับเราและเรียนรู้ต่อไป
บทความที่เกี่ยวข้อง
- [Fixed!] Excel Not Saving CSV with Commas (7 Possible Solutions)
- How to Convert Excel File to CSV Format (5 Easy Ways)
- Convert Excel to Comma Delimited CSV File (2 Easy Ways)
- How to Convert Excel to CSV without Opening (4 Easy Methods)