sanom sanom Author
Title: โค้ด VBA รันตัวเลขอัตโนมัติ ใน Excel
Author: sanom
Rating 5 of 5 Des:
 สำหรับการตั้งค่าให้ Excel รันตัวเลขอัตโนมัติทุกครั้งที่มีการเปิดไฟล์มาใหม่่   เราจะใช้โค้ด VBA ดังนี้  .......................................




 สำหรับการตั้งค่าให้ Excel รันตัวเลขอัตโนมัติทุกครั้งที่มีการเปิดไฟล์มาใหม่่   เราจะใช้โค้ด VBA ดังนี้ 

..............................................................................................................................................................

Private Sub Workbook_Open()

    Dim ws As Worksheet

    Set ws = ThisWorkbook.Sheets("RunNumber") ' ตรวจสอบให้แน่ใจว่าชื่อชีทถูกต้อง  แก้เป็นชีทงานของคุณ


    Dim lastNumber As Integer

    Dim targetCell As Range


    ' ระบุเซลล์ที่ต้องการรันหมายเลขอัตโนมัติ  ให้แก้เป็นเซลล์ที่คุณต้องการแก้ไข

    Set targetCell = ws.Range("E4")


   ' ตรวจสอบว่าเซลล์มีค่าอยู่แล้วหรือไม่

    If IsNumeric(targetCell.Value) And targetCell.Value > 0 Then

        lastNumber = targetCell.Value

    Else

        lastNumber = 0 ' ถ้ายังไม่มีค่า ให้เริ่มจาก 0

    End If


    ' เพิ่มค่าลำดับทีละ 1

    lastNumber = lastNumber + 1

    targetCell.Value = lastNumber ' อัปเดตค่าใหม่ลงในเซลล์ E4

End Sub

..................................................................................................................................................................

วิธีติดตั้งโค้ด VBA ในไฟล์ของคุณ

  1. กด ALT + F11 เพื่อเปิด VBA Editor
  2. ดับเบิลคลิกที่ ThisWorkbook (ใน Project Explorer)
  3. คัดลอกโค้ดด้านบนแล้ววางลงไป
  4. กด CTRL + S เพื่อบันทึก
  5. ปิด VBA Editor
  6. ปิดไฟล์ Excel แล้วเปิดใหม่ เพื่อทดสอบการทำงาน
............................................................................................................................................................
หากต้องการให้รันอัตโนมัตในรูปแบบ  ES0001, ES0002, ES0003... รันอัตโนมัติ

ให้ใช้โค้ด 
............................................................................................................................................................
Private Sub Workbook_Open()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("RunNumber") ' ตรวจสอบให้แน่ใจว่าชื่อชีทตรงกับไฟล์ของคุณ
    
    Dim lastNumber As Integer
    Dim newNumber As String
    Dim targetCell As Range
    
    ' ระบุเซลล์เป้าหมายเป็น E4
    Set targetCell = ws.Range("E4") ' เปลี่ยนตำแหน่งให้ถูกต้อง

    ' ตรวจสอบว่าเซลล์มีข้อมูลและอยู่ในรูปแบบ ESxxxx
    If Not IsEmpty(targetCell.Value) And InStr(targetCell.Value, "ES") > 0 Then
        On Error Resume Next ' ป้องกัน Error ถ้าข้อมูลไม่ใช่ตัวเลข
        lastNumber = CInt(Right(targetCell.Value, 4)) ' ดึงตัวเลข 4 หลักสุดท้าย
        On Error GoTo 0
    Else
        lastNumber = 0 ' ถ้ายังไม่มีค่า ให้เริ่มต้นที่ 0
    End If
    
    ' ตรวจสอบให้แน่ใจว่าเริ่มที่ ES0001 ถ้าไฟล์เพิ่งถูกใช้งานครั้งแรก
    If lastNumber < 1 Then lastNumber = 0
    
    ' เพิ่มเลขลำดับทีละ 1
    lastNumber = lastNumber + 1
    newNumber = "ES" & Format(lastNumber, "0000") ' ฟอร์แมตให้เป็น ES0001, ES0002...

    ' บันทึกค่าใหม่ลงในเซลล์ E4
    targetCell.Value = newNumber
End Sub

..............................................................................................................................................................

ทดลองเอาไปใช้งานกันดูค่ะ 




 

 

About Author

Advertisement

Lazada Indonesia
 
Top