snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
Sub Macro5()
'
' Macro5 áÁâ¤Ã
'
Dim a As Integer: a = Value
Dim b As Integer: b = Value
On Error Resume Next
If Range("J9") >= a Then
Range("J9").Select
Selection.Value = Selection.Value + 1
ElseIf Range("J9") >= a & "/R" & b Then
Range("J9") = a & "/R" & b + 1
End If
End Sub
You do not have the required permissions to view the files attached to this post.
Dim a As Integer
a = Len(Range("j9").Value)
On Error Resume Next
If IsNumeric(Range("J9")) Then
Range("J9").Value = Range("J9").Value + 1
Else
Range("j9").Value = VBA.Left(Range("J9"), a - 1) & VBA.Right(Range("j9"), 1) + 1
End If
ด้านบนเป็นการ Run ตัวเลขได้ไม่เกิน 9 แต่หากว่าในการใช้งานจริง สามารถ Run เลขได้หลายหลักจะต้องปรับ Code ใหม่ หากต้องการให้ง่ายต่อการใช้งาน แทนที่จะเป็น 04001/R1 ก็ควรจะเป็น 04001/R0001 เพื่อจะได้สะดวกต่อการเพิ่มตัวเลขในภายหลัง ซึ่งจำนวนหลักด้านหลังสุดเป็น Running Code ควรจะสำรองไว้ให้เพียงพอต่อการใช้งานครับ
ยกตัวอย่างเช่น ต้องการ Run เลขได้ 3 หลัก ให้ปรับบรรทัด Range("j9").Value = VBA.Left(Range("J9"), a - 1) & VBA.Right(Range("j9"), 1) + 1 เป็น Range("j9").Value = VBA.Left(Range("J9"), a - 3) & VBA.Right(Range("j9"), 3) + 1