EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)Code: Select all
Sub Imp_Score()
Dim fileToOpen As Variant
Dim fileFilterPattern As String
Dim wsMaster As Worksheet
Dim wbTextImport As Workbook
Application.ScreenUpdating = False
If MsgBox("คุณต้องการนำเข้าผลการเรียน ใช่หรือไม่?", 36, "ยืนยันการนำเข้าผลการเรียน") = 6 Then
fileToOpen = Application.GetOpenFilename(Title:="เปิดไฟล์ .csv เพื่อนำเข้าข้อมูล", FileFilter:="Text Files (*.txt; *.csv),*.txt;*.csv")
If fileToOpen = False Then
MsgBox "คุณไม่ได้เลือกไฟล์ที่จะนำเข้า", vbOKOnly + vbInformation, "ยกเลิกการนำเข้าข้อมูล"
Else
Workbooks.Open Filename:=fileToOpen, UpdateLinks:=0, local:=True
Set wbTextImport = ActiveWorkbook
Set wsMaster = ThisWorkbook.ActiveSheet
'wsMaster.Unprotect Password:="11651165"
wsMaster.Range("F6:J50,L6:P50,R6:V50,X6:AB50").ClearContents
wbTextImport.Worksheets(1).Range("A1:E50").Copy
wsMaster.Range("F6").PasteSpecial xlPasteValues
wbTextImport.Worksheets(1).Range("F1:J50").Copy
wsMaster.Range("L6").PasteSpecial xlPasteValues
wbTextImport.Worksheets(1).Range("K1:O50").Copy
wsMaster.Range("R6").PasteSpecial xlPasteValues
wbTextImport.Worksheets(1).Range("P1:T50").Copy
wsMaster.Range("X6").PasteSpecial xlPasteValues
Application.CutCopyMode = False
wbTextImport.Close False
Range("F6").Select
' wsMaster.Protect Password:="11651165"
End If
End If
Exit Sub
' wsMaster.Protect Password:="11651165"
Application.ScreenUpdating = True
End Sub
Code: Select all
Sub Imp_Score()
Dim fileToOpen As Variant
Dim fileFilterPattern As String
Dim wsMaster As Worksheet
Dim wbTextImport As Workbook
Application.ScreenUpdating = False
If MsgBox("คุณต้องการนำเข้าผลการเรียน ใช่หรือไม่?", 36, "ยืนยันการนำเข้าผลการเรียน") = 6 Then
Application.ScreenUpdating = False
fileToOpen = Application.GetOpenFilename(Title:="เปิดไฟล์ .csv เพื่อนำเข้าข้อมูล", FileFilter:="Text Files (*.txt; *.csv),*.txt;*.csv")
If fileToOpen = False Then
MsgBox "คุณไม่ได้เลือกไฟล์ที่จะนำเข้า", vbOKOnly + vbInformation, "ยกเลิกการนำเข้าข้อมูล"
ElseIf VBA.Right(fileToOpen, InStrRev(fileToOpen, "\")) <> Sheet1.Range("A19").Value & ".csv" Then
MsgBox "ไฟล์นำเข้าไม่ถูกต้อง กรุณาตรวจสอบ", vbInformation
Exit Sub
Else
Workbooks.Open Filename:=fileToOpen, UpdateLinks:=0, local:=True
Set wbTextImport = ActiveWorkbook
Set wsMaster = ThisWorkbook.ActiveSheet
'wsMaster.Unprotect Password:="11651165"
wsMaster.Range("F6:J50,L6:P50,R6:V50,X6:AB50").ClearContents
wbTextImport.Worksheets(1).Range("A1:E50").Copy
wsMaster.Range("F6").PasteSpecial xlPasteValues
wbTextImport.Worksheets(1).Range("F1:J50").Copy
wsMaster.Range("L6").PasteSpecial xlPasteValues
wbTextImport.Worksheets(1).Range("K1:O50").Copy
wsMaster.Range("R6").PasteSpecial xlPasteValues
wbTextImport.Worksheets(1).Range("P1:T50").Copy
wsMaster.Range("X6").PasteSpecial xlPasteValues
Application.CutCopyMode = False
wbTextImport.Close False
Range("F6").Select
' wsMaster.Protect Password:="11651165"
End If
End If
'Exit Sub
' wsMaster.Protect Password:="11651165"
Application.ScreenUpdating = True
End Sub
Code: Select all
'Other code
If fileToOpen = False Then
MsgBox "คุณไม่ได้เลือกไฟล์ที่จะนำเข้า", vbOKOnly + vbInformation, "ยกเลิกการนำเข้าข้อมูล"
' ElseIf VBA.Right(fileToOpen, InStrRev(fileToOpen, "\")) <> Sheet1.Range("A19").Value & ".csv" Then
' MsgBox "ไฟล์นำเข้าไม่ถูกต้อง กรุณาตรวจสอบ", vbInformation
' Exit Sub
ElseIf Dir(fileToOpen) <> Sheet1.Range("a19").Value & ".csv" Then
MsgBox "Error. Please check file name again.", vbExclamation
Exit Sub
Else
'Other code
Code: Select all
Sub LockArea()
Sheets("Score").ScrollArea = "A1:AE56"
Sheets("Name").ScrollArea = "A1:K1000"
Sheets("Index").ScrollArea = "A1:K50"
End Sub
Code: Select all
Private Sub Workbook_Activate()
LockArea
End Sub
Code: Select all
Private Sub Workbook_Activate()
Sheets("Score").ScrollArea = "A1:AE56"
Sheets("Name").ScrollArea = "A1:K1000"
Sheets("Index").ScrollArea = "A1:K50"
End Sub