snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
Sub ImportCSV()
Dim fileToOpen As Variant
Dim fileFilterPattern As String
Dim wsMaster As Worksheet
Dim wbTextImport As Workbook
Dim Sum As Integer
On Error Resume Next
Application.ScreenUpdating = False
fileFilterPattern = "Text Files (*.txt; *.csv),*.txt;*.csv"
fileToOpen = Application.GetOpenFilename(fileFilterPattern)
If fileToOpen = False Then
MsgBox "คุณไม่ได้เลือกไฟล์ที่จะนำเข้า", vbOKOnly + vbInformation, "ยกเลิกการนำเข้าข้อมูล"
Else
Workbooks.Open Filename:=fileToOpen, UpdateLinks:=0, local:=True
Set wbTextImport = ActiveWorkbook
Set wsMaster = ThisWorkbook.Worksheets("DMC")
wsMaster.Range("A1:G1500").ClearContents
wbTextImport.Worksheets(1).Range("A1").CurrentRegion.Copy
wsMaster.Range("A1").PasteSpecial xlPasteValues
Application.CutCopyMode = False
wbTextImport.Close False
End If
Application.ScreenUpdating = True
Range("A2").Select
End Sub
Sub ImportCSV()
Dim fileToOpen As Variant
Dim fileFilterPattern As String
Dim wsMaster As Worksheet
Dim wbTextImport As Workbook
Dim Sum As Integer
Dim cHead As Integer, tHead As String
Dim rHead As Worksheet
' On Error Resume Next
Application.ScreenUpdating = False
fileFilterPattern = "Text Files (*.txt; *.csv),*.txt;*.csv"
fileToOpen = Application.GetOpenFilename(fileFilterPattern)
If fileToOpen = False Then
MsgBox "คุณไม่ได้เลือกไฟล์ที่จะนำเข้า", vbOKOnly + vbInformation, "ยกเลิกการนำเข้าข้อมูล"
Else
Workbooks.Open Filename:=fileToOpen, UpdateLinks:=0, local:=True
Set wbTextImport = ActiveWorkbook
Set wsMaster = ThisWorkbook.Worksheets("DMC")
wsMaster.Range("A1:G1500").ClearContents
Set rHead = wbTextImport.Worksheets(1)
cHead = Application.WorksheetFunction.CountA(wbTextImport.Worksheets(1).Range("1:1"))
tHead = rHead.Range("A1") & "_" & rHead.Range("B1") & "_" & rHead.Range("C1") & "_" & rHead.Range("D1") & "_" & rHead.Range("E1") & "_" & rHead.Range("F1") & "_" & rHead.Range("G1")
If cHead > 7 And tHead <> "เลขประจำตัวนักเรียน_ชั้น_ห้อง_เลขประจำตัวนักเรียน_คำนำหน้าชื่อ_ชื่อ_นามสกุล" Then
wbTextImport.Close False
MsgBox ("ไฟล์ที่คุณเลือก มีจำนวน หรือ ตำแหน่ง คอลัมภ์ผิดพลาด")
Else
wbTextImport.Worksheets(1).Range("A1").CurrentRegion.Copy
wsMaster.Range("A1").PasteSpecial xlPasteValues
Application.CutCopyMode = False
wbTextImport.Close False
End If
End If
Application.ScreenUpdating = True
Range("A2").Select
End Sub