data Sort theo tên tiếng Việt trong Excel

  • Thread starter Bình_OverAC
  • Ngày gửi
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
845
11
18
43
Nha Trang
Em nêu ra chủ đề này mời các cao thủ Excel cho cao kiến hay là phải sử dụng Macro thì các bác có đoạn mã nào chưa cho em với
Nếu không thì mời các bác xông vào đấu trí với chuyện này nhé:
Yêu cầu của chương trình này là có thể soft theo mã "VNI", mã ".vn" và mã "unicode"
nào mời các bác!!
 
Khóa học Quản trị dòng tiền
nipvnn

nipvnn

www.mintoday.com
23/10/03
362
3
18
30
Thưa bác , giờ trình convert khá nhiều mà , làm macro cho khổ ra . cái gì sẵn thì cứ thế mà dùng , việc gì khổ nhỉ , ví như bác setup Office có sẵn rồi đúng không ? bác việc gì phải tự ngồi viết riêng ra một bộ office nữa hiiiiii , mà viết được rồi chắc không còn sức để mà dùng nữa , đấu trí cái gì chứ cái này em.............. chào bác hiiiiiiii !
 
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
845
11
18
43
Nha Trang
Vậy thì em muốn hỏi là làm sao có thể sort theo tên tiếng Việt được
Ví dụ: Lan, Lân, Lần, Lăn thì theo bác nó nên được sort lại như thế nào??
Excel làm như sau: Lan, Lân, Lăn Lần.
Theo em thì như thế này mới đúng: Lan, Lăn, Lân, Lần
Bác có ý kiến gì xin cứ tiếp tục.
 
V

vongphuc

Excel Fans Club
11/8/04
300
5
18
Ha Noi
Chào các bạn, chào OverAC nhé,

Lại một ý tưởng mới được đưa ra!

Những ý tưởng thường đến với tôi vào lúc nửa đêm. Vào lúc mà những âm thanh của cuộc sống đang chìm xuống (hay nhộn nhịp hơn?). Mỗi lần như vậy tôi thường tỉnh giấc, vội vàng ghi lại ý nghĩ đó vào một tờ giấy. Một vài ý tưởng đã hoàn thành, những cái khác mãi mãi nằm ở đó. Sức mình không sao kham nổi

Việc xử lý tiếng Việt trong Excel đóng vai trò vô cùng quan trọng. Làm thế nào để tiếng Việt được thể hiện đúng trong từng ô và theo từng loại font chữ khác nhau? Một macro được viết ra cho ý tưởng này sẽ là một kinh nghiệm quý báu để chúng ta tự tin khi đối mặt với nó trong một tình huống khác

Xin trích dẫn lại lời của bác pnphuong :

pnphuong nói:
Unikey convert cũng tương đối tốt nhưng nói chung là tôi thấy không tiện và nhanh bằng Vietkey. Vietkey chuyển đổi được rất nhiều loại mã và có thể chuyển rất nhanh đối với các file văn bản lớn. Chỉ có điều cần lưu ý là nếu bạn đã chuyển một đoạn sang Unicode rồi mà bạn chuyển lại toàn bộ sang unicode lần nữa thì sẽ bị hỏng toàn bộ font chữ, do đó bạn cần lưu ý khi chuyển văn bản là chuyển từng đoạn hay chuyển toàn bộ khi convert./.
Nếu đúng như vậy thì những chương trình convert có sẵn trên thị trường như UniKey và Vietkey không đáp ứng được nhu cầu đó. (Sorry các bác cố vấn tin học của diễn đàn, nếu không nhấn mạnh như thế thì ai còn niềm tin mà đi nghiên cứu vấn đề này nữa)

Khi đã đưa văn bản tiếng Việt về chuẩn Unicode, một chuẩn quốc tế có khả năng mã hóa cực mạnh cho tất cả mọi loại font chữ trên thế giới, và với khả năng lập trình trong Word và Excel trong môi trường phát triển Visual Basic for Application, thì mình đoan chắc không thể có lỗi như bác pnphuong đã nói

Vấn đề này là một vấn đề lớn, đòi hỏi phải có nhiều thời gian và công sức. Hy vọng chúng ta sẽ cùng OverAC đưa ra được lời giải cho ý tưởng này
 
H

HyperVN

<b>Phu hót rác</b>
17/3/03
1,833
16
0
48
Hải Phòng
www.webketoan.vn
nipvnn nói:
Thưa bác , giờ trình convert khá nhiều mà , làm macro cho khổ ra . cái gì sẵn thì cứ thế mà dùng , việc gì khổ nhỉ , ví như bác setup Office có sẵn rồi đúng không ? bác việc gì phải tự ngồi viết riêng ra một bộ office nữa hiiiiii , mà viết được rồi chắc không còn sức để mà dùng nữa , đấu trí cái gì chứ cái này em.............. chào bác hiiiiiiii !
NIP không góp được ý hay gì thì xin đừng post bài thế này làm người khác nản, thực sự bạn có lòng với WKT thì hãy share cho mọi người phần mền sort đó đi, cái conver đó là cái gì? liên quan tới bài viết này không? việc sort data trong Excel liên quan gì tới Convert.

Từ lâu mình có thấy một cái Add in phục vụ mục đích Sort danh sách theo mã ABC và VNI, nhưng lâu quá rồi không còn dùng nữa.
 
V

vongphuc

Excel Fans Club
11/8/04
300
5
18
Ha Noi
Hello anh HyperVN,

Xin cảm ơn, sự quan tâm động viên của anh đã mang niềm tin đến, và khơi dậy những nỗi đam mê

Chào các bạn,

Một add-in được tạo ra để giải quyết bài toán của OverAC thì thật là tuyệt vời, mọi thứ đã được làm sẵn và ta chỉ việc ấn nút là đã ok rồi

Thế nhưng trong một trường hợp khác? khi mà chúng ta phải đối mặt với vấn đề tiếng Việt, vấn đề font chữ trong Excel thì ai sẽ làm sẵn cho chúng ta như thế? Chỉ có cách là phải tự làm ra cái đó, hoặc phải hiểu được người ta đã làm ra cái đó như thế nào

Tôi xin trình bày một bài toán nhỏ trong Word có liên quan đến vấn đề này, giải thuật của nó hết sức đơn giản, nhưng nó sẽ có thể được ứng dụng khi ta gặp một bài toán khác trong Excel

Số là thế này, tôi ở Hà Nội, từ nhỏ tôi đã quen soạn thảo văn bản trên font chữ .VnTimes (font chữ thuộc chuẩn TCVN3), sau này do yêu cầu của quốc tế hóa, tôi phải chuyển đổi những văn bản này về font chữ Arial (font chữ thuộc chuẩn Unicode)

Nếu phải gõ lại thì mất nhiều thời gian quá, vì vậy tôi đã nghĩ ra một cách (chắc chắn phải có ai đó cũng đã làm được từ trước rồi) là sử dụng macro để chuyển từ font chữ này sang font chữ kia

Những kinh nghiệm tôi có từ trước đó bao gồm :
1 - nếu một văn bản viết tiếng Việt không có dấu thì trên bất kỳ font chữ nào ta cũng đọc được nó
2 - tôi có thể dùng một lệnh thay thế Replace trong ...Word để thay thế bất kỳ một ký tự có dấu nào (ví dụ “á”), viết trên bất kỳ một font chữ nào, để thay bằng một đoạn ký tự không có dấu khác (ví dụ “as”)

Tôi gõ ra trong Word tất cả các ký tự có dấu (trên font chữ .VnTimes) : a á à ả ã ạ ă ắ ằ ẳ ẵ ặ â ấ ầ ẩ ẫ ậ đ e é è ẻ ẽ ẹ ê ế ề ể ễ ệ i í ì ỉ ĩ ị o ó ò ỏ õ ọ ơ ớ ờ ở ỡ ợ ô ố ồ ổ ỗ ộ u ú ù ủ ũ ụ ư ứ ừ ử ữ ự y ý ỳ ỷ ỹ ỵ

Dùng một lệnh thay thế Replace All, tôi thay thế tất cả ký tự này theo kiểu gõ telex, và để phân biệt các ký tự với nhau, tôi chèn vào cuối mỗi ký tự đó một đoạn văn bản là “ppp”, kết quả như sau : a asppp afppp arppp axppp ajppp awppp awsppp awfppp awrppp awxppp awjppp aappp aasppp aafppp aarppp aaxppp aajppp ddppp e esppp efppp erppp exppp ejppp eeppp eesppp eefppp eerppp eexppp eejppp i isppp ifppp irppp ixppp ijppp o osppp ofppp orppp oxppp ojppp owppp owsppp owfppp owrppp owxppp owjppp ooppp oosppp oofppp oorppp ooxppp oojppp u usppp ufppp urppp uxppp ujppp uwppp uwsppp uwfppp uwrppp uwxppp uwjppp y ysppp yfppp yrppp yxppp yjppp

Đến đây, tôi hoàn toàn có thể chuyển đổi văn bản này về font chữ Arial, sau đó bằng một phép thay thế tương tự, tôi chuyển văn bản toàn chữ ppp này về tiếng Việt có dấu. Vậy là thành công

Tiếp tục làm với những chữ hoa có dấu (ví dụ “Á”) tôi hoàn thành macro đó. Thử chạy với những văn bản lớn hàng ngàn trang giấy tôi không hề gặp một trục trặc nhỏ nào. Kể cả khi nhỡ tay nhấn macro này trên văn bản font Unicode tôi cũng không gặp trục trặc như anh pnphuong nói

Việc gõ tiếng Việt trên font chữ chuẩn TCVN3 và VNI trong Visual Basic Editor là rất dễ dàng, gõ thế nào ra thế đó. Còn đối với font chữ theo chuẩn Unicode, tôi sử dụng bảng mã chuyển đổi đã nêu trong bài Chuyển tiền từ số sang chữ

Từ những kinh nghiệm thu được với giải thuật này, tôi đã hoàn toàn kiểm soát được vấn đề tiếng Việt có dấu trong Word và Excel, xóa nhòa khoảng cách của các loại font chữ

Tôi xin hết ở đây, mã nguồn của giải thuật này tôi sẽ gửi tới các bạn trong một bài viết của topic Excel Fans nhưng sẽ phải đợi thêm một thời gian nữa, bạn nào chưa biết thì cũng đừng tự làm như tôi viết bên trên vì như vậy cũng mất thời gian lắm, mình chỉ hiểu cách làm là được rồi

Chúc các bạn một đêm ngon giấc
 
H

HyperVN

<b>Phu hót rác</b>
17/3/03
1,833
16
0
48
Hải Phòng
www.webketoan.vn
Mình cũng đã một lần viết đoạn chuyển mã từ VNI đời tám hoánh cho Fox for Dos sang ABC, cách viết đơn giản cũng thực hiện một chuỗi thế như vọng phúc, có điều chưa viết cho Excel và Word, nếu Vongphuc thiết kế được một Addin dạng này thì quả là rất có ích đó, bấm cái doẹt là OK, à nhưng mà trong Macro đó làm sao để chuyển font chữ dạng tương tự thì tốt biết mấy, chỉ chú trọng một số font thường dùng của ABC và VNI, còn đâu chuyển hết về dạng chuẩn của UNICODE, như vậy chắc văn bản sau khi convert mới mang nguyên vẹn các định dạng ban đầu và người dùng không phải điều chỉnh gì thêm.
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
Chào các bạn,
Các bạn đã đọc bài "Sắp xếp tiếng việt Unicode trong Ms Access" trên PC World VN số tháng 12/2004 chưa? Tôi nghĩ nó có thể áp dụng cho Excel? Các bạn thử xem.
Lê Văn Duyệt
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
Vâng, mình nhớ là về việc chuyển mã thì các bạn có thể vào trang
www.vovisoft.com
Trong trang trên có mã VB
Sau khi các bạn giải quyết việc chuyển mã thì mới giải quyết đến chuyện sắp xếp.
Chúc các bạn thành công.
Nói nhỏ...các bạn có thể đọc source code của add-in trên trang Echip...thì phải. (Mở add-in ra và nghiên cứu...Nếu bác nào đã có source code thì chia sẽ với anh em ở trang này với...hihihi)
Một lần nữa chúc các bạn thành công.
Lê Văn Duyệt
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
Sắp xếp tiếng việt phần I
Chào các bạn,
Lại là mình hihihi
Trong chương trình có :
_File add-in tên: ChSortTCVN.xla, HamTCVN.dll, Huongdan.txt, Setup.exe
_Trong File ChSortTCVN.xla có nội dung như sau: (Các bạn chỉ tham khảo, tôi download trên mạng chỉ nhằm mục đích học hỏi) có file module Toolexc có nội dung như sau:
Public Luachon As Byte
Dim Vchon As Range
Dim Scot, Sdong, Cotd, Dongd As Integer
Private Sub Tachgop()
Dim j, i As Integer, Strtam As String, Hoi
Set Vchon = Application.Selection
Cotd = Vchon.Column: Dongd = Vchon.Row
Sdong = Vchon.Rows.Count: Scot = Vchon.Columns.Count
If Scot > 3 Then
MsgBox "So cot : Tach la 1; Gop la 2 !", vbOKOnly + vbCritical, "Chu y !"
Exit Sub
End If
Select Case Scot
Case 1 'Tach ho va ten
Hoi = MsgBox("Ban muon tach lam hai cot !", vbYesNo + vbCritical, "Chu y !")
If Hoi = vbYes Then
Range(Cells(Dongd, Cotd + 1), Cells(Dongd + Sdong - 1, Cotd + 1)).Insert shift:=xlShiftToRight
For i = Dongd To Dongd + Sdong - 1
Strtam = Cells(i, Cotd).Value
For j = Len(Strtam) To 1 Step -1
If Mid(Strtam, j, 1) = " " Then
Exit For
End If
Next j
Cells(i, Cotd).Value = Trim(Left(Strtam, j))
Cells(i, Cotd + 1).Value = Trim(Right(Strtam, Len(Strtam) - j))
Next i
Else
Exit Sub
End If
Case 2 'Gop ho ten
Hoi = MsgBox("Ban muon gop hai cot !", vbYesNo + vbCritical, "Chu y !")
If Hoi = vbYes Then
For i = Dongd To Dongd + Sdong - 1
Cells(i, Cotd).Value = Cells(i, Cotd).Value + " " + Cells(i, Cotd + 1)
Next i
Range(Cells(Dongd, Cotd + 1), Cells(Dongd + Sdong - 1, Cotd + 1)).Delete shift:=xlShiftToLeft
Else
Exit Sub
End If
End Select
End Sub
Private Function Auto_Open()
On Error Resume Next
Dim sorttt, changett As CommandBarControl
Dim mntt As CommandBarControl, gTachgop
CommandBars("Format").Controls(2).Delete
Set mntt = CommandBars("Format").Controls.Add(Type:=msoControlPopup, Before:=2)
mntt.Caption = "&TiengViet-TCVN"
mntt.BeginGroup = True
With mntt.Controls
Set sorttt = .Add()
With sorttt
.Caption = "Sap xep-TCVN..."
.OnAction = "Sortvn_click"
.FaceId = 928
End With
Set changett = .Add()
With changett
.Caption = "&Chuyen doi ky tu..."
.OnAction = "change_case_click"
.FaceId = 222
End With
Set gTachgop = .Add()
With gTachgop
.BeginGroup = True
.Caption = "Tach gop ho ten..."
.OnAction = "Tachgop"
.FaceId = 222
End With
End With
End Function
Sub CHANGE_CASE_Click()
Load change
change.Show
End Sub
Sub Sortvn_click()
Load Sortvn
Sortvn.Show
End Sub
Sub Auto_Close()
On Error Resume Next
CommandBars("Format").Controls(2).Delete
End Sub
Private Function Machuv(st As String) As String
Machuv = Mahoa(st, Luachon)
End Function

Và có 2 form
Change và SortVN
Nội dung code của form Change như sau:



Dim Setfontcase As Integer, Fo As String
Private Sub CommandButton1_Click()
If OpButton1.Value = True Then
Call Chuhoa
End If
If OpButton2.Value = True Then
Call Hoadau
End If
If OpButton4.Value = True Then
Call Chuthuong
End If
If Optionchdc.Value = True Then
Call Chuhoadc
End If
End
End Sub
Private Sub UserForm_Initialize()
Fo = ActiveCell.Characters(Start:=1, Length:=1).Font.Name
If InStr(1, Fo, "Vni", 1) <> 0 Then
Setfontcase = 1 'Vni
Else
If Left(Fo, 1) = "." Then
Setfontcase = 2 '.Vn
If Right(Fo, 1) = "H" Then
Fo = Left(Fo, Len(Fo) - 1)
End If
Else
Setfontcase = 3 'Uni
End If
End If
End Sub
Private Sub Chuhoa()
Dim x
Select Case Setfontcase
Case 1 'Vni
For Each x In Selection
x.Value = UCase(x.Value)
Next
Case 2 '.Vn
Selection.Font.Name = Fo + "H"
Case 3 'Uni
For Each x In Selection
x.Value = AllHoa(x.Value)
Next
End Select
End Sub
Private Sub Hoadau()
Dim x
Select Case Setfontcase
Case 1 'Vni
For Each x In Selection
x.Value = HoaDauVni(x.Value)
Next
Case 2 '.Vn
MyCase
Case 3 'Uni
For Each x In Selection
x.Value = HoadauUni(x.Value)
Next
End Select
End Sub
Private Sub Chuthuong()
Dim x
Select Case Setfontcase
Case 1 'Vni
For Each x In Selection
x.Value = LCase(x.Value)
Next
Case 2 '.Vn
Selection.Font.Name = Fo
Case 3 'Uni
For Each x In Selection
x.Value = Allthuong(x.Value)
Next
End Select
End Sub
Private Sub Chuhoadc()
Dim x
Select Case Setfontcase
Case 1 'Vni
For Each x In Selection
x.Value = HoaDcVni(x.Value)
Next
Case 2 '.Vn
HoadcABC
Case 3 'Uni
For Each x In Selection
x.Value = HoaDcUni(x.Value)
Next
End Select
End Sub
Sub MyCase()
Dim ii
On Error Resume Next
ActiveSheet.Selection.Font.Name = Fo
Dim x
For Each x In Selection
x.Characters(Start:=1, Length:=1).Font.Name = Fo + "H"
For ii = 2 To Len(x.Value)
If x.Characters(Start:=ii - 1, Length:=1).Text = " " Then
x.Characters(Start:=ii, Length:=1).Font.Name = Fo + "H"
Else
x.Characters(Start:=ii, Length:=1).Font.Name = Fo
End If
Next ii
Next
End Sub
Sub HoadcABC()
Dim ii
On Error Resume Next
ActiveSheet.Selection.Font.Name = Fo
Dim x
For Each x In Selection
x.Characters(Start:=1, Length:=1).Font.Name = Fo + "H"
For ii = 2 To Len(x.Value)
If x.Characters(Start:=ii - 1, Length:=1).Text = "." Or x.Characters(Start:=ii - 1, Length:=1).Text = ":" Then
x.Characters(Start:=ii, Length:=1).Font.Name = Fo + "H"
Else
x.Characters(Start:=ii, Length:=1).Font.Name = Fo
End If
Next ii
Next
End Sub
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
Sắp xếp tiếng việt phần II
Nội dung code của form SortVN như sau:
Public Vchon As Range
Dim Cot As Integer, Dong As Integer, Socot As Integer, Sodong As Integer
Private Sub CBsort_Click()
Dim x, y: Dim khoatp(2), vchontam As Range
Dim tmp1(2) As Integer, cotxep(2), i, j As Integer
Dim thu(2) As String, khoa(2) As String
cotxep(1) = ComboBox1.ListIndex
cotxep(2) = ComboBox2.ListIndex
x = IIf(OptionButton1.Value, xlAscending, xlDescending)
y = IIf(OptionButton3.Value, xlAscending, xlDescending)
If Trim(ComboBox1.Text) = "(Khong)" Then
MsgBox "Ban phai chon cot can sap xep !", vbOKOnly + vbCritical, "Thong bao !"
Exit Sub
End If
thu(1) = ComboBox1.Text
thu(2) = ComboBox2.Text
'============================================================
For i = 1 To 2
If cotxep(i) >= 1 Then
Set khoatp(i) = Range(Cells(Dong, Cot + Socot + i - 2), Cells(Sodong + Dong - 1, Cot + Socot + i - 2))
khoatp(i).Copy
khoatp(i).Insert shift:=xlToRight
khoatp(i).Clear
tmp1(i) = Cot + Socot + i - 1
khoa(i) = Laycell(Dong, tmp1(i))
Set khoatp(0) = Range(Cells(Dong, Cot + Socot), Cells(Sodong + Dong - 1, tmp1(i)))
ActiveSheet.Columns(tmp1(i)).EntireColumn.Hidden = True
End If
Next i
For i = 1 To 2
If cotxep(i) > 0 Then
For j = Dong To Dong + Sodong - 1
ActiveSheet.Cells(j, tmp1(i)).Value = "=Machuv( " + Laycotsx(thu(i), j) + ")"
Next j
Set vchontam = Range(Cells(Dong, Cot), Cells(Dong + Sodong - 1, tmp1(i)))
End If
Next i
'=====================
If cotxep(2) <> 0 Then
vchontam.Sort Key1:=Range(khoa(1)), Order1:=x, Key2:=Range(khoa(2)), Type:=xlSortValues, Order2:=y, Header:=xlNo, OrderCustom:=1, MatchCase:=False, SortMethod:=2
khoatp(0).Delete
Else
vchontam.Sort Key1:=ActiveSheet.Range(khoa(1)), Order1:=x, Header:=xlNo, OrderCustom:=1, MatchCase:=False, SortMethod:=2
khoatp(0).Delete
End If
For i = 1 To 2
If cotxep(i) >= 1 Then
ActiveSheet.Columns(tmp1(i)).EntireColumn.Hidden = False
End If
Next i
End
End Sub
Private Sub CommandButton1_Click()
End
End Sub
Private Sub UserForm_Initialize()
If InStr(1, ActiveCell.Characters(Start:=1, Length:=1).Font.Name, "Vni", 1) <> 0 Then
Luachon = 1
Else
If Left(ActiveCell.Characters(Start:=1, Length:=1).Font.Name, 1) = "." Then
Luachon = 2
Else
Luachon = 3
End If
End If
Set Vchon = Application.Selection
Dong = Vchon.Rows(1).Row
Cot = Vchon.Columns(1).Column
Socot = Vchon.Columns.Count
Sodong = Vchon.Rows.Count
'=====================================
OptionButton1.GroupName = "button"
OptionButton2.GroupName = "button"
OptionButton3.GroupName = "cbut"
OptionButton4.GroupName = "cbut"
OptionButton3.Value = True
'=======================================
Luachoncot True
End Sub
Function DatSapXep(obj As Object, Mdinh As Integer)
Dim i As Integer, j As Integer
Dim lay As String
With obj
.Clear
.AddItem "(Khong)"
For i = 0 To Socot - 1
lay = Cells(Dong, Cot + i).Address(ReferenceStyle:=xlA1)
lay = Right(lay, Len(lay) - 1)
j = InStr(1, lay, "$") - 1
.AddItem "Theo cot : " + Left(lay, j)
Next i
.ListIndex = Mdinh
End With
End Function
Private Sub Luachoncot(Xet As Boolean)
With Me
DatSapXep .ComboBox1, 1
DatSapXep .ComboBox2, 0
End With
End Sub
Function Laycotsx(obj As String, Mdinh As Integer) As String
Dim i, j As Integer
Dim lay As String
j = InStr(1, obj, ":") + 1
lay = Trim(Right(obj, Len(obj) - j))
Laycotsx = lay & Trim(Str(Mdinh))
End Function
Private Function Laycell(dongcell As Integer, cotcell As Integer) As String
Dim j As Integer
Dim lay As String
lay = Cells(dongcell, cotcell).Address(ReferenceStyle:=xlA1)
lay = Right(lay, Len(lay) - 1)
j = InStr(1, lay, "$") - 1
Laycell = Left(lay, j) & Trim(Str(dongcell))
End Function

Rất tiếc là tôi không thể đưa hình ảnh lên cho các bạn tham khảo được.
Thế là các bạn tha hồ tham khảo. Nó có nhiều điều để chúng ta học hỏi.
Lại...Lại chúc các bạn thành công.
Tôi lại phải đi TQ rồi !!! Sắp sửa bị nghỉ việc...
Chúc các bạn một năm mới vui vẻ.
Lê Văn Duyệt.
levanduyet@yahoo.com
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
À, mình xin lỗi bác vongphuc...
Chờ bạn lâu quá nên mình mạn phép post bài lên rồi. Xin thông cảm. Mình sẽ xin lỗi bằng cách mời bạn đi uống cafe Rainbow ở hồ con rùa với OverAC được không?
Lê Văn Duyệt
 

Xem nhiều

Webketoan Zalo OA