toantinhte87
Thành viên chính thức


- Tham gia
- 2/3/14
- Bài viết
- 62
- Được thích
- 3
Ví dụ ở ô A1 có dữ liệu: qazazaq mình muốn xóa hết ký tự thừa khi nhấn vào một nút bấm để trả về dữ liệu là: qaz
Bạn nên đưa dữ liệu thật lên đi 1 phần cũng được(Để mọi người biết mặt mũi nó ra sao) cứ viết code mò hộ bạn chốc phải sửa ngại lắm.
Tôi có chỗ chưa hiểu lắm. Ví dụ ô A1 dữ liệu là: Nguyễn Văn Anh thì chữ n sẽ bị xóa hết chỉ để lại 1 chữ hay sao????
' hàm lọc các ký tự duy nhất trong một chuỗi
' hàm này chỉ dùng được cho chuỗi tiếng Anh
' muoons dùng cho tiếng Việt thì phải nới rộng thêm
Function KyTuTrongChuoi(ByVal chuoi As String)
Dim kt(1 To 255) As Integer ' mảng, mỗi phần tử tượng trưng cho một ký tự
' (ascii của lý tự là chỉ số phần tử trên mảng)
Dim i As Integer
For i = 1 To Len(chuoi)
If kt(Asc(Mid(chuoi, i, 1))) <= 0 Then ' ký tự này chưa ghi
KyTuTrongChuoi = KyTuTrongChuoi & Mid(chuoi, i, 1) ' ghi nó vào chuỗi kết quả
kt(Asc(Mid(chuoi, i, 1))) = 1 ' và đánh dấu đã ghi
End If
Next i
End Function
Vẫn không được bạn. Mình không muốn dùng hàm mà muốn gán vào một nút bấm. Phiền bạn giúp đơn mình thêmTiếng Anh thì rất dễ. Bởi vì nó chỉ có 255 ký tự nên có thể dùng mảng để đếm. Nếu là tiếng Việt thì phải sử dụng tới con số mấy chục ngàn, cũng dùng mảng được nhưng hơi tốn bộ nhớ một chút.
Mã:' hàm lọc các ký tự duy nhất trong một chuỗi ' hàm này chỉ dùng được cho chuỗi tiếng Anh ' muoons dùng cho tiếng Việt thì phải nới rộng thêm Function KyTuTrongChuoi(ByVal chuoi As String) Dim kt(1 To 255) As Integer ' mảng, mỗi phần tử tượng trưng cho một ký tự ' (ascii của lý tự là chỉ số phần tử trên mảng) Dim i As Integer For i = 1 To Len(chuoi) If kt(Asc(Mid(chuoi, i, 1))) <= 0 Then ' ký tự này chưa ghi KyTuTrongChuoi = KyTuTrongChuoi & Mid(chuoi, i, 1) ' ghi nó vào chuỗi kết quả kt(Asc(Mid(chuoi, i, 1))) = 1 ' và đánh dấu đã ghi End If Next i End Function
Làm: chép code trên vào module1 trong file.
Sử dụng:
=KyTuTrongChuoi(A1)
Muốn dùng nút bấm thì đưa file lên, dữ liệu gốc ở đâu, bấm xong kết quả ra ở cột nào, sheet nào .....thì mới biết đường mà làm chứ bạnVẫn không được bạn. Mình không muốn dùng hàm mà muốn gán vào một nút bấm. Phiền bạn giúp đơn mình thêm
sao lại phải "<" ạ ?If kt(Asc(Mid(chuoi, I, 1))) <= 0 Then
Vẫn không được bạn. Mình không muốn dùng hàm mà muốn gán vào một nút bấm. Phiền bạn giúp đơn mình thêm
...
Ban VetMini cho hỏi trong code có đoạn
sao lại phải "<" ạ ?
Thân