VBA tạo hàm ghép hai số trong chuổi số (1 người xem)

Liên hệ QC

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

chaukimsa

Thành viên chính thức
Tham gia
3/6/08
Bài viết
55
Được thích
26
Chào anh chị
Em có bài như sau :có môt chuổi số 12345678998......
em đang dùng các công thức tách rời (MID) và (&) ghép lại với nhau cho nên dài công thức và nặng file lắm ,em muốn có một hàm tự tạo để có từng con số theo ý muốn.

Xin cảm ơn!
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn thử với những cái này:

Mã:
[B]Function GhepThuTuN(Strc As String, VTr As Byte, Num As Byte) As Byte
[/B] GhepThuTu = Num * 10 + CByte(Mid(Strc, VTr, 1))
[B]End Function
[/B]
PHP:
Function GhepTTC(Strc As String, VTr As Byte, Num As Byte) As String
 GhepTTC = CStr(Num) & Mid(Strc, VTr, 1)
End Function

Cái nào ưng í thì xài & chúc ngày nghỉ hạnh phúc!
 
Upvote 0
Chào anh chị
Em có bài như sau :có môt chuổi số 12345678998......
em đang dùng các công thức tách rời (MID) và (&) ghép lại với nhau cho nên dài công thức và nặng file lắm ,em muốn có một hàm tự tạo để có từng con số theo ý muốn.

Xin cảm ơn!

Bạn đang dùng công thức Excel và cảm thấy nặng? Dám cá với bạn rằng sau khi có hàm tự tạo rồi thì vẫn chẳng cải thiện được gì cả, vẫn nặng như xưa thôi (vì trên bàng tính vẫn đang tồn tại các công thức)
Có chăng là bạn dùng 1 Sub: Bấm nút 1 phát rồi code tự làm hết mọi việc
 
Upvote 0
Mã:
[B]Function GhepThuTuN(Strc As String, VTr As Byte, Num As Byte) As Byte
[/B]GhepThuTu = Num * 10 + CByte(Mid(Strc, VTr, 1))
[B]End Function
[/B]
PHP:
Function GhepTTC(Strc As String, VTr As Byte, Num As Byte) As String
 GhepTTC = CStr(Num) & Mid(Strc, VTr, 1)
End Function

Cái nào ưng í thì xài & chúc ngày nghỉ hạnh phúc!

Em cảm ơn nhiều,như vầy thì hay quá , nhưng kết quả thì em muốn Phần CStr(Num) cũng như phần sau luôn cũng chọn từ số thứ nhất tới số cuối cùng chứ không phải là số thứ tự nhiên
ví dụ :GhepTTC=(A1,11,11) sẽ là 88 (hai số ghép từ thứ 11 và 11)
Chỉnh lại một tí dùm em nha .Em cảm ơn !
 
Upvote 0
Em cảm ơn nhiều,như vầy thì hay quá , nhưng kết quả thì em muốn Phần CStr(Num) cũng như phần sau luôn cũng chọn từ số thứ nhất tới số cuối cùng chứ không phải là số thứ tự nhiên
ví dụ :GhepTTC=(A1,11,11) sẽ là 88 (hai số ghép từ thứ 11 và 11)
Chỉnh lại một tí dùm em nha .Em cảm ơn !
Vậy thế này là được
Mã:
Function GhepTTC(Strc As String, VTr1 As Byte, VTr2 As Byte)
GhepTTC = Mid(Strc, VTr1, 1) & Mid(Strc, VTr2, 1)
End Function
 
Lần chỉnh sửa cuối:
Upvote 0
Đúng rồi ! đúng như mình muốn rồi hiiiiii
Cảm ơn nhiều nha !
 
Upvote 0
Bạn đang dùng công thức Excel và cảm thấy nặng? Dám cá với bạn rằng sau khi có hàm tự tạo rồi thì vẫn chẳng cải thiện được gì cả, vẫn nặng như xưa thôi (vì trên bàng tính vẫn đang tồn tại các công thức)
Có chăng là bạn dùng 1 Sub: Bấm nút 1 phát rồi code tự làm hết mọi việc

Chào thầy ! Thầy nói đúng lắm ,nhưng trong trường hợp của em thì nó chỉ là 1 phần của công thức thôi ,em có đọc nhiều bài dạng nầy của Thầy Ạ !
 
Upvote 0
Đúng là Đại Đại Sư Phụ khi sử dụng hàm tự tạo rồi file giảm 5M ( từ 30M còn lại 25M) nhưng thời gian cập nhật refreh thì dài ra thêm ....
 
Upvote 0
Thì giờ suy nghỉ & làm theo đại sư fụ đi là vừa.

Để vậy bạn hãy mô tả kỹ file 1 chút; Gặp khó sẽ có người giúp!
 
Upvote 0
Thì giờ suy nghỉ & làm theo đại sư fụ đi là vừa.

Để vậy bạn hãy mô tả kỹ file 1 chút; Gặp khó sẽ có người giúp!


Anh à ,xin anh hiểu thêm cho em một chút ,ở đây cái hay là thầy biết trước được sự việc , còn việc hàm tự tạo là đam mê tìm kiềm trong thế giới VBA bao la , cám ơn susu16b ,HYen7 nhờ thế mà em mày mò ra thêm được một Module nữa vừa tách ghép trong chuỗi số mà còn thên cộng thêm số thứ tự nữa :
"Function GhepTTC(Strc As String, VTr1 As Byte, VTr2 As Byte, VTr3 As Byte, VTr4 As Byte)
GhepTTC = Right(Mid(Strc, VTr1, 1) + VTr2, 1) & Right(Mid(Strc, VTr3, 1) + VTr4, 1)
End Function"
Thật tiện làm sao ấy !
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom