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

Liên hệ QC
Em làm được rùi ah, em cám ơn các anh các chị, tại vì em gà quá. Em cám ơn anh Hải, Hong Van.
Anh chị ơi, 2 vấn đề nhỏ nữa mong anh chị và các bạn chị giáo
1. Tháng khi nhập thực hiện tắt không ra hết tháng ví dụ tháng 9: Sep, em muốn ở đây ra September.
2. Hà Nội ở đây có thể thay bằng một tỉnh bất kỳ không, nó phụ thuộc vào ô ta muốn tham chiếu.
Em cám ơn ah.
 
Em làm được rùi ah, em cám ơn các anh các chị, tại vì em gà quá. Em cám ơn anh Hải, Hong Van.
Anh chị ơi, 2 vấn đề nhỏ nữa mong anh chị và các bạn chị giáo
1. Tháng khi nhập thực hiện tắt không ra hết tháng ví dụ tháng 9: Sep, em muốn ở đây ra September.
2. Hà Nội ở đây có thể thay bằng một tỉnh bất kỳ không, nó phụ thuộc vào ô ta muốn tham chiếu.
Em cám ơn ah.
Trong code có 1 chỗ là [A1], bạn thay địa chỉ cho phù hợp nhu cầu.
Đã chỉnh cho ra dạng tháng đầy đủ.
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, Ngay, Tinh
         Tinh = [A1].Value
         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
         Ngay = Len(Day(Target))
         Target = Tinh & ", " & tem & Space(1) & MonthName(Month(Target), 0) & Space(1) & Year(Target)
         Target.Characters(Len(Tinh) + Ngay + 3, 2).Font.Superscript = True
      End If
   Application.EnableEvents = True
End If
End Sub
 
Em cám ơn bác Hải, bác thật Pro.
Anh cho em hỏi một chút, có thể tự động thì mà địa chỉ thay đổi, hay ngày tháng nó thay đổi thì cột ở D cũng thay đổi được không ah. Em thấy mặc dù làm được nhưng khi em thay đổi ngày tháng thì nó không nhảy tự động.
Anh xem giúp em có cách nào không ah.
 
Em cám ơn bác Hải, bác thật Pro.
Anh cho em hỏi một chút, có thể tự động thì mà địa chỉ thay đổi, hay ngày tháng nó thay đổi thì cột ở D cũng thay đổi được không ah. Em thấy mặc dù làm được nhưng khi em thay đổi ngày tháng thì nó không nhảy tự động.
Anh xem giúp em có cách nào không ah.
Mình chỉ viết tới đây thôi, không viết nữa đâu. Bạn đợi thành viên khác hỗ trợ nhé.
 
Nhờ các anh chị xem giúp em, Anh Hải đã xử lý được vấn đề đánh số trên mũ ngày tháng trong tiếng anh, nhưng chưa thể tự động được. Mong các anh chị xem có cách nào tự động code đó được không. Em cám ơn ạ.
 
Anh Hải ơi, anh xem giúp em xử lý được nốt cái vấn đề tự động đi, ko thấy cao thủ nào trợ giúp. Xin cám ơn anh ah.
 
Nhờ các anh chị xem giúp em, Anh Hải đã xử lý được vấn đề đánh số trên mũ ngày tháng trong tiếng anh, nhưng chưa thể tự động được. Mong các anh chị xem có cách nào tự động code đó được không. Em cám ơn ạ.
Kg hiểu bạn muốn tự động kiểu gì?
 
Anh Hải đã xử lý được việc đánh sổ rùi ah. Ví dụ khi ở ô A1 thay đổi tỉnh thành phố, hoặc thay đổi ngày tháng. Khi thay đổi thì tham chiếu cột D nó không tự động thay đổi. Xem giúp em có thể tự động được không ah.
 
Anh Hải đã xử lý được việc đánh sổ rùi ah. Ví dụ khi ở ô A1 thay đổi tỉnh thành phố, hoặc thay đổi ngày tháng. Khi thay đổi thì tham chiếu cột D nó không tự động thay đổi. Xem giúp em có thể tự động được không ah.
Bạn chịu khó tự xử cho có lao động chút nhá.
1. Mở cửa sổ VBE lên, vào mục Insert chèn vào 1 Module, rồi copy code này vào
PHP:
Function OrdSuf(ByVal Num As Long) As String
'Written by QuangHai
Dim Arr()
Arr = Array("st", "nd", "rd")
Select Case Num
Case 4 To 20, 24 To 30: OrdSuf = "th"
Case Else: OrdSuf = Arr(Num Mod 10 - 1)
End Select
End Function
2. Đang trong cửa sổ VBE, nhấp đôi chuột vào sheet cần tự động vào cho đám rừng này vào
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Application.EnableEvents = False
If Not Intersect(Target, Union([A1], [B1])) Is Nothing Then
   If IsDate([B1]) Then
      Dim KT, Ngay, Tinh
      Tinh = [A1] & ", "
      Ngay = Day([B1])
      KT = Len(Ngay) + Len(Tinh) + 1
      [D1] = Tinh & Ngay & OrdSuf(Ngay) & Format([B1], " mmmm yyyy")
      [D1].Characters(KT, 2).Font.Superscript = True
   End If
End If
Application.EnableEvents = True
End Sub
3. Sử dụng
Tại A1 nhập vào tên tỉnh
Tại B1 nhập ngày tháng
Thì D1 sẽ xuất hiện định dạng tự động. Khi thay đổi tại A1 hoặc B1 thì D1 sẽ tự động thay đổi.
Nếu đã đúng yêu cầu thì có thể điều chỉnh các ô A1, B1 và D1 theo nhu cầu thực tế

Chúc may mắn!
 
Dạ em xin cám ơn bác Quang Hải nhiều ah Em đã làm được rùi ah. Bác chỉ bảo thật nhiệt tình. Hy vọng được bác chiếu cố.
Chúc bác mạnh khỏe.
 
Hi anh Hải, " Quá tam ba bận" em thấy rõ làm như vậy rất ổn nhưng có đúng là một điểm cuối cùng em thấy khó là có một cái sheet cố định để nhập ví dụ sheet 2 nhập tham số là tỉnh và ngày tháng sau đó link sang sheet 1 là A1 và B1, thi D1 nó vẫn không tự động nhảy ah. Nó chỉ nhảy khi ta nhập dữ liệu vào Sheet1, hoặc ấn F2 vào nó mới nhẩy tự động.
Có lẽ em đòi hỏi hơi quá đáng, mong bác chiếu cố lần nữa.
Xin cám ơn ạ.
 
Hi anh Hải, " Quá tam ba bận" em thấy rõ làm như vậy rất ổn nhưng có đúng là một điểm cuối cùng em thấy khó là có một cái sheet cố định để nhập ví dụ sheet 2 nhập tham số là tỉnh và ngày tháng sau đó link sang sheet 1 là A1 và B1, thi D1 nó vẫn không tự động nhảy ah. Nó chỉ nhảy khi ta nhập dữ liệu vào Sheet1, hoặc ấn F2 vào nó mới nhẩy tự động. Có lẽ em đòi hỏi hơi quá đáng, mong bác chiếu cố lần nữa. Xin cám ơn ạ.
Ai cũng có quyền mưu cầu hạnh phúc riêng mà. Muốn thì cứ đòi, cho hay không là chuyện của người ta. Kệ đi, cứ đòi nếu còn nhu cầu.
 

File đính kèm

Lần chỉnh sửa cuối:
Em cám ơn anh "Quanghai1969" rất nhiều ah.
 
Hi anh Quang Hải, đúng là đòi hỏi quá đáng quá ah, nhưng đúng thật là em vẫn còn một điểm khó là do ô báo kết quả là ô D1 của Sheet1, nhưng em lại muốn thêm là sang ở F10 ở sheet 3 và G10 ở sheet 4 cũng hiện lên được như thế ah. Không biết có làm như thế nào ah. Mong anh ra tay giúp em thêm lần nữa ah. Em cám ơn Anh.
 
Hi anh Quang Hải, đúng là đòi hỏi quá đáng quá ah, nhưng đúng thật là em vẫn còn một điểm khó là do ô báo kết quả là ô D1 của Sheet1, nhưng em lại muốn thêm là sang ở F10 ở sheet 3 và G10 ở sheet 4 cũng hiện lên được như thế ah. Không biết có làm như thế nào ah. Mong anh ra tay giúp em thêm lần nữa ah. Em cám ơn Anh.
Phương châm của mình "không có gì là khó, mà khó quá thì bỏ..." Yêu cầu của bạn chỉ cần thêm 1 dòng lệnh nữa thôi. Bạn tự ngâm cứu đi cho có lao động chút.
 
Em mù chữ về viết lệnh, có khó mới nhờ đến các cao thủ như Anh ah. Không phải là em thuộc dạng lười lao động ah. Cám ơn anh.
 
Em lúc đầu cũng định làm là tạo ra 3 moduel, và các sheet chính copy main vào, nhưng nó báo lỗi, vì em ko hiểu bản chất của câu lệnh. Có gì anh chỉnh sửa giúp em.
 
Anh Quang Hải ra tay giúp em với ạ.
 

File đính kèm

Web KT

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

Back
Top Bottom