จากไฟล์ที่แนบ (ImPCSV.xlsb)
Code: Select all
Sub SaveRangeToCSV()
Dim myCSVFileName As String
Dim myWB As Workbook
Dim tempWB As Workbook
Dim rngToSave As Range
Application.DisplayAlerts = False
On Error GoTo err
Set myWB = ThisWorkbook
myCSVFileName = myWB.Path & "\" & "Score" & VBA.Format(VBA.Now, "dd-MMM-yyyy") & ".csv"
' Set rngToSave = Range("F6:S50")
Set rngToSave = Range("F6:S50,U6:V50,Z6:AM50,AO6:AP50")
rngToSave.Copy
Set tempWB = Application.Workbooks.Add(1)
With tempWB
.Sheets(1).Range("A1").PasteSpecial xlPasteValues
.SaveAs Filename:=myCSVFileName, FileFormat:=xlCSV, CreateBackup:=False
.Close
End With
err:
Application.DisplayAlerts = True
End Sub
1. ส่งออกเป็นไฟล์ .csv ได้ (Score19-เม.ย.-2565.csv)
แต่ยังไม่ตรงกับความต้องการ เพราะข้อมูลที่ส่งออกมานั้นเรียงติดกันทุกคลอลัมน์
ที่ต้องการคือ ให้มีเว้นว่างในคลอลัมน์ O R S T และ AI (เหมือนไฟล์ Exsam1.csv)
จะต้องปรับ Code อย่างไรครับ
2.
Code: Select all
Sub ImportCSVFile()
Dim fileToOpen As Variant
Dim fileFilterPattern As String
Dim wsMaster As Worksheet
Dim wbTextImport As Workbook
'
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("ภาษาไทย2")
wsMaster.Range("F6:S50,U6:V50,Z6:AM50,AO6:AP50").ClearContents
wbTextImport.Worksheets(1).Range("A1").CurrentRegion.Copy
wsMaster.Range("F6").PasteSpecial xlPasteValues
Application.CutCopyMode = False
wbTextImport.Close False
End If
Application.ScreenUpdating = True
Range("F6").Select
End Sub
2.จาก Code ต้องการนำเข้าไฟล์ .csv ไปยังชีท ภาษาไทย2
โดยให้ตัวเลขที่นำเข้ามานั้นวางลงในเซลล์ที่ไม่ได้ถูกล็อค ("F6:S50,U6:V50,Z6:AM50,AO6:AP50")
You do not have the required permissions to view the files attached to this post.