Nhờ viết hoa dữ liệu theo quy luật

Liên hệ QC

Tình nghĩa giang hồ

Thanh sơn bất cải, lục thủy trường lưu
Tham gia
29/9/20
Bài viết
330
Được thích
429
Chào anh chị em có vấn đề này, nhờ anh chị hỗ trợ giúp em với.

Quy luật 1: CÔNG TY => Công ty

Các trường hợp khác thì viết hoa chữ cái đầu

Quy luật 2:

TNHH => TNHH

MTV => MTV

CP => CP

Nguyên âm: a, e, o, i, u

Phụ âm: b, c, d, f, g, h, j, k, l, m, n, p, k, r, s, t, v, w, x, y, z (tiếng việt thì có thêm đ )

Tức là từ nào chỉ bao gồm toàn phụ âm mà không có bất cứ nguyên âm nào thì viết hoa toàn bộ.

TNHH: toàn là phụ âm

MTV: toàn là phụ âm

CP: toàn là phụ âm

CNC: toàn là phụ âm

Nhờ anh chị hỗ trợ giúp em trường hợp này.

Em cảm ơn anh chị
 

File đính kèm

  • viết hoa DL.jpg
    viết hoa DL.jpg
    99.7 KB · Đọc: 14
  • Viết hoa dữ liệu.xlsb
    10.9 KB · Đọc: 13
Chào anh chị em có vấn đề này, nhờ anh chị hỗ trợ giúp em với.

Quy luật 1: CÔNG TY => Công ty

Các trường hợp khác thì viết hoa chữ cái đầu

Quy luật 2:

TNHH => TNHH

MTV => MTV

CP => CP

Nguyên âm: a, e, o, i, u

Phụ âm: b, c, d, f, g, h, j, k, l, m, n, p, k, r, s, t, v, w, x, y, z (tiếng việt thì có thêm đ )

Tức là từ nào chỉ bao gồm toàn phụ âm mà không có bất cứ nguyên âm nào thì viết hoa toàn bộ.

TNHH: toàn là phụ âm

MTV: toàn là phụ âm

CP: toàn là phụ âm

CNC: toàn là phụ âm

Nhờ anh chị hỗ trợ giúp em trường hợp này.

Em cảm ơn anh chị
Hên sui nhé bạn thử code.
Mã:
Function chuyen(ByVal dk As String) As String
        Dim T, i As Long, Nguyenam As String, phuam As String, s As String, dk1 As String, viethoa As Boolean, s1 As String
        phuam = "b,c,d,f,g,h,j,k,l,m,n,p,k,r,s,t,v,w,x,y,z,d"
        If Left(dk, 7) = "CÔNG TY" Then
           s = "Công ty"
           dk1 = Right(dk, Len(dk) - 8)
        Else
           dk1 = dk
        End If
        For Each T In Split(dk1, " ")
            viethoa = False
            For i = 1 To Len(T)
                s1 = LCase(Mid(T, i, 1))
                If InStr(phuam, s1) = 0 Then
                   viethoa = True
                   Exit For
                End If
            Next i
               If viethoa = True Then
                  s = s & " " & Application.Proper(T)
               Else
                  s = s & " " & UCase(T)
               End If
       Next
       chuyen = s
End Function
=chuyen(A2)
 
Upvote 0
Chào anh chị em có vấn đề này, nhờ anh chị hỗ trợ giúp em với.

Quy luật 1: CÔNG TY => Công ty

Các trường hợp khác thì viết hoa chữ cái đầu

Quy luật 2:

TNHH => TNHH

MTV => MTV

CP => CP

Nguyên âm: a, e, o, i, u

Phụ âm: b, c, d, f, g, h, j, k, l, m, n, p, k, r, s, t, v, w, x, y, z (tiếng việt thì có thêm đ )

Tức là từ nào chỉ bao gồm toàn phụ âm mà không có bất cứ nguyên âm nào thì viết hoa toàn bộ.

TNHH: toàn là phụ âm

MTV: toàn là phụ âm

CP: toàn là phụ âm

CNC: toàn là phụ âm

Nhờ anh chị hỗ trợ giúp em trường hợp này.

Em cảm ơn anh chị
Mình cũng được hỗ trợ và tìm tòi thêm để ra hàm này không biết hỗ trợ được bạn không
Function vhcd(chuoi As String, vungdk As String) As String
Dim i As Integer
Dim arr
vhcd = WorksheetFunction.Proper(chuoi)
arr = Split(vungdk, ",")
For i = 0 To UBound(arr)
vhcd = Replace(vhcd, arr(i), UCase(arr(i)), 1, 10, 1)
Next i
End Function
Hàm vhcd (Viết hoa chữ đầu) trong đó chuoi (chuỗi) là ô bạn cần chuyển đổi, vungdk là các ký tự mà bạn muốn viết hoa trong ô chuyển đổi (VD: CP,MTV,TNHH) - Các ký tự ngăn cách nhau bởi dấu phẩy.
 
Upvote 0
Chào anh chị em có vấn đề này, nhờ anh chị hỗ trợ giúp em với.

Quy luật 1: CÔNG TY => Công ty

Các trường hợp khác thì viết hoa chữ cái đầu

Quy luật 2:

TNHH => TNHH

MTV => MTV

CP => CP

Nguyên âm: a, e, o, i, u

Phụ âm: b, c, d, f, g, h, j, k, l, m, n, p, k, r, s, t, v, w, x, y, z (tiếng việt thì có thêm đ )

Tức là từ nào chỉ bao gồm toàn phụ âm mà không có bất cứ nguyên âm nào thì viết hoa toàn bộ.

TNHH: toàn là phụ âm

MTV: toàn là phụ âm

CP: toàn là phụ âm

CNC: toàn là phụ âm

Nhờ anh chị hỗ trợ giúp em trường hợp này.

Em cảm ơn anh chị
Nếu chỉ căn cứ vào phụ âm để nhận biết từ viết tắt sẽ có sai sót khá nhiều
Mã:
Function CongTy(ByVal str As String) As String
  Dim S, i As Long, j As Long, PhuAm As String
 
  PhuAm = "b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,v,w,x,y,z," & ChrW(273)
  str = Replace(str, "công ty", "|", , , vbTextCompare)
  S = Split(str, " ")
  For j = 0 To UBound(S)
    For i = 1 To Len(S(j))
      If InStr(1, PhuAm, Mid(S(j), i, 1), vbTextCompare) = 0 Then Exit For
    Next i
    If i <= Len(S(j)) Then S(j) = Application.Proper(S(j)) Else S(j) = UCase(S(j))
  Next j
  CongTy = Replace(Join(S, " "), "|", "Công ty")
End Function
"y" là phụ âm hơi là lạ
 
Upvote 0
Web KT

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

Back
Top Bottom