? เมื่อเราพบว่าข้อมูลที่ได้รับมานั้นในแต่ละเซลล์มีอักขระแปลกปลอมปะปนอยู่ในหลายตำแหน่ง ไม่สามารถระบุได้แน่ชัดว่าอยู่ที่อักขระที่เท่าไรบ้าง หากจะลบด้วยมือจะต้องใช้เวลามาก เราจะจัดการกับปัญหานี้ได้อย่างไร ?
Video ด้านล่างนี้สาธิตการเขียน VBA เข้ามาจัดการโดยมีการวนลูปเข้าไปยังแต่ละเซลล์ในคอลัมน์ A และลูปเข้าไปในแต่ละอักขระในเซลล์นั้น ๆ หากพบว่าเป็นอักขระที่ต้องการจึงจะเก็บมาใช้ หากไม่ใช่อักขระที่ต้องการเราก็จะข้ามอักขระนั้นไป เมื่อ Loop ไปจนครบทุกอักขระจะวางผลลัพธ์ที่คอลัมน์ B สำหรับการเขียน VBA จะเหมาะกับผู้ที่มีพื้นฐานด้านการเขียนโปรแกรมควบคุมการทำงานของ Excel หรือโปรแกรมในชุด Microsoft Office มาก่อน ไม่เหมาะสำหรับมือใหม่ ตัวอย่าง Code ตามด้านล่างครับ ?
Sub Test0()
Dim rall As Range, r As Range
Dim t As String, i As Integer
Dim x As String
With Sheets("Sheet1")
For Each r In .Range("a2", .Range("a" & .Rows.Count).End(xlUp))
t = ""
For i = 1 To Len(r)
x = Mid(r, i, 1)
If UCase(x) Like "[A-Z]" Or x Like "[0-9]" Then
t = t & x
End If
Next i
r.Offset(0, 1).Value = t
Next r
End With
End Sub