Page 1 of 1
ตัดตัวอักษร1ตัวด้านขวา
Posted: Tue Sep 13, 2016 10:54 am
by sooksun2009
รบกวนอาจารย์ ช่วยแนะนำเรื่องการตัดตัวอักษรด้านขวาสุด1ตัว ในcolume B คือ ผมใช้ปืนบาร์โค๊ดยิง แต่อักษรจะเพิ่มมา1ตัวทุกครั้ง ผมต้องการยิงเสร็จแล้วได้ตัวษรครบทุกตัว ตาม file แนบ ขอบคุณครับ
Re: ตัดตัวอักษร1ตัวด้านขวา
Posted: Tue Sep 13, 2016 3:42 pm
by DhitiBank
งงนิดหน่อยครับ
ปกติแล้ว รหัสที่ได้จากการอ่านบาร์โค้ดจะมี 17 หลักหรือเปล่าครับ (เห็นข้อมูลบางแถวมี 17 อักขระ) หากต้องการแค่ 17 ตัวเท่านั้น ลองแบบนี้ครับ
C3
=IF(LEN(B3)<>17,LEFT(B3,17),B3)
Enter >> คัดลอกลงล่างครับ
Re: ตัดตัวอักษร1ตัวด้านขวา
Posted: Tue Sep 13, 2016 6:37 pm
by sooksun2009
ขอบคุณครับ คุณ DhitiBank แต่ผมต้องการให้ตัดอักษรตรง colume B เรยครับ
Re: ตัดตัวอักษร1ตัวด้านขวา
Posted: Tue Sep 13, 2016 6:55 pm
by snasui
sooksun2009 wrote:ขอบคุณครับ คุณ DhitiBank แต่ผมต้องการให้ตัดอักษรตรง colume B เรยครับ

คำที่ผมระบายสีไว้ผิดกฎข้อ 1 ด้านบน ระมัดระวังด้วยครับ
กรุณาโพสต์ใหม่ให้เป็นไปตามกฎการใช้บอร์ดครับ
Re: ตัดตัวอักษร1ตัวด้านขวา
Posted: Thu Sep 15, 2016 7:21 am
by sooksun2009
ขอโทษครับ แต่ผมต้องการให้ตัดอักษรตรง colume B เลยครับ
Re: ตัดตัวอักษร1ตัวด้านขวา
Posted: Thu Sep 15, 2016 10:52 am
by puriwutpokin
คงต้องใช้ VBA ช่วยครับ ลองเขียนมาก่อนตาม กฏข้อ5 แล้วติดขัดอย่างไง เพื่อนๆ จะได้ช่วยแก้ไขให้ครับ
Re: ตัดตัวอักษร1ตัวด้านขวา
Posted: Thu Sep 15, 2016 12:47 pm
by puriwutpokin
Re: ตัดตัวอักษร1ตัวด้านขวา
Posted: Thu Sep 15, 2016 2:33 pm
by sooksun2009
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If ActiveCell.Column = 2 Then Range("F" & Target.Row) = Time()
If ActiveCell.Column = 4 Then Range("G" & Target.Row) = Time()
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Reason As String
Reason = ActiveCell.Text
If Not Intersect(Target, Range("b:b")) Is Nothing Then
ActiveCell = Left(Reason, 17)
End If
End Sub
รันแล้วเออเร่อเพราะต้องใช้คู่กับcode ลงเวลาด้วยครับ
Re: ตัดตัวอักษร1ตัวด้านขวา
Posted: Thu Sep 15, 2016 2:49 pm
by puriwutpokin
ปรับเป็น
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B3:B100")) Is Nothing Then
Target = Left(Target, 17)
End If
End Sub
Re: ตัดตัวอักษร1ตัวด้านขวา
Posted: Thu Sep 15, 2016 3:55 pm
by sooksun2009
ติดปัญหากับ code ตัวเก่า
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If ActiveCell.Column = 2 Then Range("F" & Target.Row) = Time()
If ActiveCell.Column = 4 Then Range("G" & Target.Row) = Time()
Application.EnableEvents = True
End Sub
ถ้าเพิ่ม code นี้ไป
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B3:B100")) Is Nothing Then
Target = Left(Target, 17)
End If
End Sub
Re: ตัดตัวอักษร1ตัวด้านขวา
Posted: Thu Sep 15, 2016 4:01 pm
by puriwutpokin
แนบไฟล์มาดูครับ ต้องตัด Private Sub Worksheet_Change(ByVal Target As Range) ออกอันหนี่งครับ แนบไฟล์มาดูครับ
ปรับเป็น
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If ActiveCell.Column = 2 Then Range("F" & Target.Row) = Time()
If ActiveCell.Column = 4 Then Range("G" & Target.Row) = Time()
If Not Intersect(Target, Range("B3:B100")) Is Nothing Then
Target = Left(Target, 17)
End If
Application.EnableEvents = True
End Sub
Re: ตัดตัวอักษร1ตัวด้านขวา
Posted: Thu Sep 15, 2016 4:11 pm
by puriwutpokin
ปรับอีกแบบครับ
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If ActiveCell.Column = 2 Then Range("F" & Target.Row) = Time()
If ActiveCell.Column = 4 Then Range("G" & Target.Row) = Time()
If ActiveCell.Column = 2 Then
Target = Left(Target, 17)
End If
Application.EnableEvents = True
End Sub
Re: ตัดตัวอักษร1ตัวด้านขวา
Posted: Thu Sep 15, 2016 4:55 pm
by menem
ถ้ายืนยันว่า Barcode ถูกต้อง แต่เมื่อ Scan แล้วมีตัวอักษรติดเกินมา
วิธีที่อาจจะดีกว่าคือ หาวิธีการตั้งค่าตัว Scanner ให้ถูกต้องครับ
เพราะถ้าตั้งค่าผิด สิ่งที่ได้ก็จะไม่ตรงกับที่ต้องการ
ต้องขออภัยด้วยครับที่คำตอบนี้ไม่ได้เกี่ยวกับ Excel.
Re: ตัดตัวอักษร1ตัวด้านขวา
Posted: Thu Sep 15, 2016 5:14 pm
by sooksun2009
ขอคุณครับ
Re: ตัดตัวอักษร1ตัวด้านขวา
Posted: Thu Sep 15, 2016 5:17 pm
by sooksun2009
ขอบคุณครับ คุณ puriwutpokin ได้แล้วครับ