คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 4
VBA ตามนี้ครับ
Const มาหนึ่งตัว = 1
Function ดึงตัวเลข(ข้อความ As String) As Long
Dim ตัวที่ As Integer
Dim อักษรเลข As String
Dim ตัวอักษร As String
For ตัวที่ = 1 To Len(ข้อความ)
ตัวอักษร = Mid(ข้อความ, ตัวที่, มาหนึ่งตัว)
If ตัวอักษร Like "[0-9]" Then
อักษรเลข = อักษรเลข & ตัวอักษร
End If
Next ตัวที่
ดึงตัวเลข = Val(อักษรเลข)
End Function
Sub test()
MsgBox "ตัวเลขคือ " & Str(ดึงตัวเลข("กขคง 1234 abcd"))
End Sub
แต่ถ้าเงื่อนไขเพิ่มจากนี้...
เช่น
ข้อความ = "กขคง 1234 abcd 5678"
VBA นี้จะตีความเป็น
ตัวเลข = 12345678
ฉนั้น...มันอยู่ที่วิธีการและการตีความคำสั่งของน้องเอง...ซึ่งต้องศึกษา VBA อีกเยอะ
Const มาหนึ่งตัว = 1
Function ดึงตัวเลข(ข้อความ As String) As Long
Dim ตัวที่ As Integer
Dim อักษรเลข As String
Dim ตัวอักษร As String
For ตัวที่ = 1 To Len(ข้อความ)
ตัวอักษร = Mid(ข้อความ, ตัวที่, มาหนึ่งตัว)
If ตัวอักษร Like "[0-9]" Then
อักษรเลข = อักษรเลข & ตัวอักษร
End If
Next ตัวที่
ดึงตัวเลข = Val(อักษรเลข)
End Function
Sub test()
MsgBox "ตัวเลขคือ " & Str(ดึงตัวเลข("กขคง 1234 abcd"))
End Sub
แต่ถ้าเงื่อนไขเพิ่มจากนี้...
เช่น
ข้อความ = "กขคง 1234 abcd 5678"
VBA นี้จะตีความเป็น
ตัวเลข = 12345678
ฉนั้น...มันอยู่ที่วิธีการและการตีความคำสั่งของน้องเอง...ซึ่งต้องศึกษา VBA อีกเยอะ
แสดงความคิดเห็น
ใครพอจะรู้เรื่องในการเขียนโค้ด vb ใน excel บ้างค่ะ Y^Y
จะต้องใช้คำสั่งอะไร คือตอนนี้ใช้คำสั่ง IsNumeric เเต่มันออกมาเป็น 0 อ่าค่ะ งงจิงๆ
ไม่เคยเรียนเกี่ยวกับ vb เลย อ่านหนังสือเอาค่ะ ><