snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
If VBA.InStr(fileToOpen, Range("A8").Value) = 0 Then
MsgBox "ไฟล์ที่นำเข้าไม่ใช่ไฟล์ " & Range("A8").Value & " โปรดตรวจสอบ !!", vbOKOnly + vbInformation, "กรุณาเลือกไฟล์ให้ถูกต้อง"
Exit Sub
End If
You do not have the required permissions to view the files attached to this post.
Sub ImportAct()
Dim fileToOpen As Variant
Dim fileFilterPattern As String
Dim wsMaster As Worksheet
Dim wbTextImport As Workbook
Dim folderPath As String
Dim fName As String '1. Declare fName variable
folderPath = "C:\TEST\CSV"
folderPath = "C:\Users\s_nas\Downloads\"
On Error Resume Next '
ChDrive Left(folderPath, 1)
ChDir folderPath
On Error GoTo 0
Application.ScreenUpdating = False
If MsgBox("คุณต้องการนำเข้า " & Range("A8").Value & " ใช่หรือไม่?", 36, "ยืนยันการนำบันทึกรับจ่ายเงิน") = 6 Then
fileToOpen = Application.GetOpenFilename(Title:="เปิดไฟล์ .csv เพื่อนำเข้าข้อมูล", FileFilter:="Text Files (*.txt; *.csv),*.txt;*.csv")
'2. Assign file name to fName
fName = VBA.Split(fileToOpen, "\")(UBound(VBA.Split(fileToOpen, "\")))
If fileToOpen = False Then
MsgBox "คุณไม่ได้เลือกไฟล์ที่จะนำเข้า", vbOKOnly + vbInformation, "ยกเลิกการนำเข้า" & Range("a16").Value
Else
If VBA.InStr(fileToOpen, Range("A8").Value) = 0 Then
MsgBox "ไฟล์ที่นำเข้าไม่ใช่ไฟล์ " & Range("A8").Value & " โปรดตรวจสอบ !!", vbOKOnly + vbInformation, "กรุณาเลือกไฟล์ให้ถูกต้อง"
Exit Sub
End If
'3. Check 1st 7 digit of fName
If VBA.Left(fName, 7) <> "รับจ่าย" Then
MsgBox "File name is incorrect. Please try again.", vbInformation
Exit Sub
End If
Workbooks.Open Filename:=fileToOpen, UpdateLinks:=0, local:=True
Set wbTextImport = ActiveWorkbook
Set wsMaster = ThisWorkbook.ActiveSheet
wsMaster.Range("C4:G1515,I4:I1515").ClearContents
wbTextImport.Worksheets(1).Range("A1:E1512").Copy
wsMaster.Range("C4").PasteSpecial xlPasteValues
wbTextImport.Worksheets(1).Range("F1:F1515").Copy
wsMaster.Range("H4").PasteSpecial xlPasteValues
Application.CutCopyMode = False
wbTextImport.Close False
Range("C4").Select
Application.ScreenUpdating = True
MsgBox "นำเข้าบันทึกรับจ่ายเงิน เรียบร้อยแล้ว !!", vbInformation
End If
End If
End Sub