Tạo hàm vba chuyển chuỗi thành Mã ASCII (4 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

trongtrung1504

Thành viên chính thức
Tham gia
26/1/12
Bài viết
98
Được thích
38
Chào tất cả mọi người, hiện tại mình đang gặp vấn đề như thế này.
Mình có 1 chuỗi gồm cả chữ và số, mình đã tách được kí tự với số ra riêng rồi. Yêu cầu là lấy từng ký tự ấy sẽ chuyển sang mã ASCII và ghép nó với số (vd a1 =651,A1 =971...). Mình làm công thức excel thì ra rồi, nhưng giờ mình muốn chuyển qua vba tạo 1 hàm MaASCII dùng hàm Select case để xét độ dài chuỗi kí tự ấy theo điều kiện sau:
* Nếu chuỗi chữ 0, thì chỉ lấy chuỗi số
* Nếu chuỗi chữ 1, thì lấy code(kitu)& chuỗi số
* Nếu chuỗi chữ 2, thì lấy code(left(kitu,1)& code(right(kitu,1) & chuỗi số
...
Nhờ các thầy, các anh chị xem giúp
 

File đính kèm

Chào tất cả mọi người, hiện tại mình đang gặp vấn đề như thế này.
Mình có 1 chuỗi gồm cả chữ và số, mình đã tách được kí tự với số ra riêng rồi. Yêu cầu là lấy từng ký tự ấy sẽ chuyển sang mã ASCII và ghép nó với số (vd a1 =651,A1 =971...). Mình làm công thức excel thì ra rồi, nhưng giờ mình muốn chuyển qua vba tạo 1 hàm MaASCII dùng hàm Select case để xét độ dài chuỗi kí tự ấy theo điều kiện sau:
* Nếu chuỗi chữ 0, thì chỉ lấy chuỗi số
* Nếu chuỗi chữ 1, thì lấy code(kitu)& chuỗi số
* Nếu chuỗi chữ 2, thì lấy code(left(kitu,1)& code(right(kitu,1) & chuỗi số
...
Nhờ các thầy, các anh chị xem giúp
Xem thử cách này có đúng ý không:
Mã:
Public Function ChuyenMaASCII(Chuoi As String) As String
Dim i As Long
For i = 1 To Len(Chuoi) Step 1
    If IsNumeric(Mid(Chuoi, i, 1)) Then
        ChuyenMaASCII = ChuyenMaASCII & Mid(Chuoi, i, 1)
    Else
        ChuyenMaASCII = ChuyenMaASCII & AscW(Mid(Chuoi, i, 1))
    End If
Next
End Function
 
Upvote 0
ký tự số cũng có mã asc đó bạn !

0->9 : 48-57
a->z : 97-122
A->Z : 65-90

if kytu>=48 and kytu<=57
thì lấy số.
else
lấy mã asc
end if ^^
 
Upvote 0
yêu cầu về mã bên mình chỉ phân biệt chữ hoa/chữ thường thôi, còn số thì mỗi mã có 1 số riêng rồi
 
Upvote 0
tks bạn. đúng yêu cầu mình rồi...Thân

Đúng sao được. Theo yêu cầu là ký tự chữ phải đổi hoa thành thường và ngược lại trước khi tính mã ascii.

Chào tất cả mọi người, hiện tại mình đang gặp vấn đề như thế này.
Mình có 1 chuỗi gồm cả chữ và số, mình đã tách được kí tự với số ra riêng rồi. Yêu cầu là lấy từng ký tự ấy sẽ chuyển sang mã ASCII và ghép nó với số (vd a1 =651,A1 =971...). ...
 
Upvote 0
Bạn mới hiểu sai ý mình đó. ko cần phải chuyển đổi chữ hoa chữ thuong gi cả. nó chi phan biet chu hoa chữ thường thôi

Thật ra í bạn nêu là sai rành rành ra rồi!
Hay bạn không rõ rằng ?asc("A") trong cửa sổ Immediate sẽ là 65?
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom