Xử lý tự động đánh số theo thứ tự ngày trong tiếng Anh

Liên hệ QC
Cám ơn bạn mình làm được rùi, nhưng mình làm phiền bạn một chút nữa thôi, bạn chỉ giúm cho mình, khi mình muốn chuyển sang cột khác, hay ô khác trong bảng đó, mình sẽ chỉnh code đó như thế nào.
[TABLE="width: 64"]
[TR]
[TD]Private Sub Worksheet_Change(ByVal Target As Range)[/TD]
[/TR]
[TR]
[TD] Dim s$, i&[/TD]
[/TR]
[TR]
[TD] If Target.Count > 1 Or Target.Column <> 3 Or (Not IsNumeric(Target)) Then Exit Sub[/TD]
[/TR]
[TR]
[TD] Application.EnableEvents = False[/TD]
[/TR]
[TR]
[TD] For i = 1 To 31[/TD]
[/TR]
[TR]
[TD] If Target = i Then[/TD]
[/TR]
[TR]
[TD] Select Case i[/TD]
[/TR]
[TR]
[TD] Case 1, 21, 31[/TD]
[/TR]
[TR]
[TD] s = "st"[/TD]
[/TR]
[TR]
[TD] Case 2, 22[/TD]
[/TR]
[TR]
[TD] s = "nd"[/TD]
[/TR]
[TR]
[TD] Case 3, 23[/TD]
[/TR]
[TR]
[TD] s = "rd"[/TD]
[/TR]
[TR]
[TD] Case Else[/TD]
[/TR]
[TR]
[TD] s = "th"[/TD]
[/TR]
[TR]
[TD] End Select[/TD]
[/TR]
[TR]
[TD] Target = Target.Text & s[/TD]
[/TR]
[TR]
[TD] Target.Characters(Len(Target.Text) - 1, 2).Font.Superscript = True[/TD]
[/TR]
[TR]
[TD] Exit For[/TD]
[/TR]
[TR]
[TD] End If[/TD]
[/TR]
[TR]
[TD] Next[/TD]
[/TR]
[TR]
[TD] Application.EnableEvents = True[/TD]
[/TR]
[TR]
[TD] End Sub[/TD]
[/TR]
[/TABLE]
Cám ơn bạn!!!!!
Bạn sửa chỗ chữ màu đỏ (số 3) thành số tùy ý
Mã:
If Target.Count > 1 Or Target.Column <> [COLOR=#ff0000][B]3 [/B][/COLOR]Or (Not IsNumeric(Target)) Then Exit Sub
 
Cám ơn sự chỉ bảo nhiệt tình của bạn.
 
Bạn ơi, vẫn cũng là vấn đề này, mình mong bạn chỉ giáo thực tế mình muốn vì dụ: Ha Noi 12th 2014 chẳng hạn. Nhưng khi mình thêm công thức như vậy nó không nhảy được tự động. Rất mong bạn chỉ giao giúp mình.
 

File đính kèm

Bạn ơi, vẫn cũng là vấn đề này, mình mong bạn chỉ giáo thực tế mình muốn vì dụ: Ha Noi 12th 2014 chẳng hạn. Nhưng khi mình thêm công thức như vậy nó không nhảy được tự động. Rất mong bạn chỉ giao giúp mình.
Nếu muốn như ví dụ của bạn, thì
Mã:
="Ha Noi, ngày "&C11&" tháng 10 "&" Năm 2014"
Tuy nhiên các chữ St,th... sẽ kg là chữ mũ vì các chữ st, th... được tạo từ code tạo Superscript chứ kg fải tạo từ Alt code (như tôi nói ở bài #7)
 
Vậy là không có cách nào có thể sử dụng code mà khi viết công thức cho ngày tháng bằng tiếng anh mà chỉ duy nhất ngày là có số mũ trên cùng.
 
Mình đang rất loay hoay mãi vụ mà tự động việt ngày tháng có mũ trên cùng, có bạn nào xem có cách nào xử lý giúp mình để file excel của mình nó tự động được không. Xin cám ơn các bạn đã đọc bài vì.
 
Vậy là không có cách nào có thể sử dụng code mà khi viết công thức cho ngày tháng bằng tiếng anh mà chỉ duy nhất ngày là có số mũ trên cùng.
Cái này tôi kg rỏ
ở File tôi gởi lên, bạn thay số 1 ở cell C1 thành số 2 hay 3. Bạn sẽ thấy kết quả cell E1 thay đổi như thế nào !
 

File đính kèm

Các bạn xem giúp mình trường hợp này để đánh sổ ngày tháng có kèm theo tham số mà sử dụng marco được không. Xin cám ơn
 
Bạn ơi, vẫn cũng là vấn đề này, mình mong bạn chỉ giáo thực tế mình muốn vì dụ: Ha Noi 12th 2014 chẳng hạn. Nhưng khi mình thêm công thức như vậy nó không nhảy được tự động. Rất mong bạn chỉ giao giúp mình.
Không bao giờ có ai định dạng ngày tháng tiếng Việt có cái "th" kỳ cục như vậy cả. Thậm chí cả tiếng Anh người ta cũng không cần.
 
Không bạn ah, bên mình làm báo cáo bằng tiếng anh, nhiều lúc Sếp bắt đổi th, st, rd lên đầu bạn ah
Ví dụ "Ha Noi 12th May 2014" Cái khó nhất chứ "th" không để số mũ được. Mình rất khó khăn khi lập báo cáo. Nhiều khi toàn phải sửa thủ công. Nhờ các bạn có marco nào mà xử lý được giúp mình.
Xin cám ơn.
 
Không bạn ah, bên mình làm báo cáo bằng tiếng anh, nhiều lúc Sếp bắt đổi th, st, rd lên đầu bạn ah
Ví dụ "Ha Noi 12th May 2014" Cái khó nhất chứ "th" không để số mũ được. Mình rất khó khăn khi lập báo cáo. Nhiều khi toàn phải sửa thủ công. Nhờ các bạn có marco nào mà xử lý được giúp mình.
Xin cám ơn.
Bạn có thể đánh 12th bình thường sau đó dùng hàm Instr để dò tìm chuỗi 12th trong ô rồi dùng object characters để chuyển th thành superscript.
 
Bạn có thể làm ví dụ giúp mình không, xin cám ơn bạn
 
Các bạn có mã code nào có thể đánh số mũ ngày tháng không, xem giúp mình với, mình cần quá.
 
Các bạn có mã code nào có thể đánh số mũ ngày tháng không, xem giúp mình với, mình cần quá.
Code có tác dụng trong cột D. Thử xem có xài được không
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, [D:D]) Is Nothing Then
   Application.EnableEvents = False
      If IsDate(Target) Then
         Dim tem As String
         Select Case Day(Target)
         Case 1, 21, 31: tem = Day(Target) & "st"
         Case 2, 22: tem = Day(Target) & "nd"
         Case 3, 23: tem = Day(Target) & "rd"
         Case Else: tem = Day(Target) & "th"
         End Select
         Target = "Ha Noi, " & tem & Space(1) & MonthName(Month(Target), 1) & Space(1) & Year(Target)
         Target.Characters(Len(Target) - 10, 2).Font.Superscript = True
      End If
   Application.EnableEvents = True
End If
End Sub
 
Cám ơn bạn Quang Hai nhiều lắm, bạn chỉ bảo nhiệt tình, mình thực tế không hiểu nhiều, mình có file đình kèm, mình chèn code của bạn vào rùi. Và dữ liệu có sẵnm bạn giúp mình xử lý vấn đề này với, mình thấy khó quá. Vẫn là vấn đề đánh số ký tự lên đầu ngày tháng
Cám ơn bạn nhiều.
 

File đính kèm

Với Code anh Hải thì bạn, phải làm như sau:

1/ Copy code trên vào cửa sổ Code sheet1 chứ ko phải vào module.
2/ Tại cột D bạn gõ ngày tháng năm vào.
 
Cám ơn bạn, mình đã làm như vậy, bạn xem giúp mình với. Mình đã gửi file đính kèm.
 
Anh Hải ơi, xem giùm em với.
 
Cám ơn bạn, mình đã làm như vậy, bạn xem giúp mình với. Mình đã gửi file đính kèm.
Code này sẽ chuyển ngày tháng nhập vào cột B thành chuỗi "Ha Noi ...." ở cột D. Bạn sửa thủ tục này ở sheet1.
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim cel As Range, s$, s1$
    Application.EnableEvents = False
    If Not Intersect(Target, Columns(2)) Is Nothing Then
        For Each cel In Intersect(Target, Columns(2))
            If IsDate(cel) Then
                Select Case Day(cel)
                    Case 1, 21, 31
                        s = "st"
                    Case 2, 22
                        s = "nd"
                    Case 3, 23
                        s = "rd"
                    Case Else
                        s = "th"
                End Select
                s1 = "Ha Noi " & Format(cel.Text, "dd mmmm yyyy")
                s1 = Left(s1, 9) & s & Right(s1, Len(s1) - 9)
                cel.Offset(, 2) = s1
                cel.Offset(, 2).Characters(10, 2).Font.Superscript = True
            End If
        Next
    End If
    Application.EnableEvents = True
End Sub
Xin lỗi, post bài xong mới biết nó giống code bác Quang Hải.
 
Lần chỉnh sửa cuối:
Cám ơn bạn Quang Hai nhiều lắm, bạn chỉ bảo nhiệt tình, mình thực tế không hiểu nhiều, mình có file đình kèm, mình chèn code của bạn vào rùi. Và dữ liệu có sẵnm bạn giúp mình xử lý vấn đề này với, mình thấy khó quá. Vẫn là vấn đề đánh số ký tự lên đầu ngày tháng
Cám ơn bạn nhiều.
1/ Bạn thực hiện như bải #36
2/ Tại sheet 1, bất kỳ cell nào của cột D bạn nhập thử 24/12/2014 rồi Enter-> xem kết quả
 
Web KT

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

Back
Top Bottom