ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ¦p¦ó§PÂ_¬O§_ ¥þ§Î¦r?

¦^´_ 20# ML089

¸É¥R¤@¤Uµù¸Ñ¡AÀ³¸Ó¥[¤@­Ó
X¡GÀ³µø¬°¬O¥þ«¬¡A¦ýLENB()¬°1ªº¯S¨Ò¡A¦p¡u堃¡v
B¡G¥þ«¬¦r¼Æ
S¡G¥b«¬¦r¼Æ
LEN(A1)+LENB(A1)-LENB(BIG5(A1))
=(B+S +X)+ (B*2+S+X) - (B*2 + S*2+X)
=B+X

TOP

¦^´_ 21# Bodhidharma

¨S¿ù¡A§Aªº»¡©ú¤ñ¸û¹ï¡A­«ÂI´N¬O X
{...} ªí¥Ü»Ý­n¥Î CTRL+SHIFT+ENTER ¤TÁä¿é¤J¤½¦¡

TOP

¦^´_ 2# Hsieh
¦^´_ 13# ML089
¦^´_ 19# ­ã´£³¡ªL
¦^´_ 21# Bodhidharma

Left(   ,1) <> LeftB(   , 1) ¦bVBA¦n¹³¤£¯à¥Î

ªþµù LeftB ¨ç¼Æ¬O¨Ï¥Î¦b¦ì¤¸²Õ¸ê®Æ¦r¦ê¤W¡C©Ò¥H LeftB ¶Ç¦^ªº¬O¦ì¤¸²Õ¼Æ¡A¦Ó«D¦r¤¸¼Æ¡C

½Ð°Ý¦U¦ì¤j¤j, ¦p¦ó¥ÎVBA¨Ó§PÂ_¡]¤£¨Ï¥ÎApplication.WorksheetFunction¡^¡H
ss

TOP

¦^´_ 23# sunnyso


¡ã¡ãLeftB(   , 1) ¦bVBA¦n¹³¤£¯à¥Î¡Ä¡Ä¡Ä¡eLeftB¡f¦b¤u§@ªí¨ç¼Æ»PVBA¨ç¼Æ§@¥Î¤£¦P¡A¥u¯à¨Ï¥Î¡eEvaluate¡f¨Ó±a¡I

¢Ï¢°¤å¦r¡G氹¥J 堃 ¿DA1??2135¢Ö¡H¢ä

¢°¡D¥HMID¶]°j°é¨ú¦r¡A¦A³v¤@¤ñ¹ï¡G
¡@¡@Sub ¥þ«¬¦r¤¸¼Æ1()
¡@¡@Dim j%, Jm%, T$
¡@¡@For j = 1 To Len([A1])
¡@¡@¡@¡@T = Mid([A1], j, 1)
¡@¡@¡@¡@If T <> Evaluate("LeftB(""" & T & """,1)") Then Jm = Jm + 1
¡@¡@Next j
¡@¡@MsgBox "¥þ«¬¦r¦@¦³¡G" & Jm & " ­Ó"
¡@¡@End Sub
¡@
¢±¡D¤£¥Î°j°é¡G
¡@¡@Sub ¥þ«¬¦r¤¸¼Æ2()
¡@¡@Dim X1%, X2%
¡@¡@X1 = Len([A1])
¡@¡@X2 = Evaluate("Len(LeftB(""" & [A1] & String(X1, "1") & """," & X1 * 2 & "))")
¡@¡@MsgBox "¥þ«¬¦r¦@¦³¡G" & X1 * 2 - X2 & " ­Ó"
¡@¡@End Sub
¡@
¡@¡@¤½¦¡ºt¥Ü¡G
¡@¡@¢Ð¢°¡G=LEN(A1)*2-LEN(LEFTB(A1&REPT(1,LEN(A1)),LEN(A1)*2))
¡@
¡@¡@¨ä¥L°Ñ¦Ò¡G¤å¦r­Y¶W¹L¢¸¢¸¦r¡A½Ð¦Û¦æ½Õ¾ã
¡@¡@=LEN(A1)*2-LEN(LEFTB(A1&REPT(1,99),LEN(A1)*2))¡@
¡@¡@=FREQUENCY(LEN(LEFTB(MID(A1,ROW(1:99),1)&"TT",2)),{1,0})
¡@¡@=SUMPRODUCT(N(LEN(LEFTB(MID(A1,ROW(1:99),1)&"TT",2))=1))
¡@¡@
¡@¡@­Y¤£¦Ò¼{¡e¯S®í¦r¡fÀ³·|³æ¯Â¨Ç¡A¥H¤W²Ê²¤µ{¦¡½X¤Î¤½¦¡¨Ñ°Ñ¦Ò¡A¬Ýª©¥D­Ì¬O§_¦A´£¨Ñ¸û¥¿³WªººëÅP¸Ñªk¡I

TOP

¦^´_ 24# ­ã´£³¡ªL

­Y¤£¦Ò¼{¡e¯S®í¦r¡f

DblChrCount = LenB(StrConv([D3], vbFromUnicode)) - Len([D3])
ss

TOP

¦^´_ 2# Hsieh ¦^´_ 21# Bodhidharma ¦^´_ 22# ML089 ¦^´_ 24# ­ã´£³¡ªL

²×©ó·Q¨ì¤@­Ó²¼äªº¤èªk¡A¥Î ¡§¥¿³Wªí¥Ü¦¡¡¨

¤£ª¾ ¦U¦ì¤j¤j­Ì¬O§_¦A´£¨Ñ§óªººëÅP¸Ñªk¡I
  1. Function CountDblChr(ByVal sCh As String) As Integer
  2.     Set re = CreateObject("vbscript.regexp")
  3.     're.Pattern = "[\u4e00-\u9fa5]" '§PÂ_¤¤¤å¦r(¥]¬A¯S®í¦r¡A¦ý¤£¥]¬A²Å¸¹¡C©M¼Æ¦r¦p¢°¡^
  4.     re.Pattern = "[^\x00-\xff]" '§PÂ_©Ò¦³ªº¥þ§Î¦r
  5.     re.Global = True
  6.     re.IgnoreCase = True
  7.     Set matches = re.Execute(sCh)
  8.     CountDblChr = matches.Count
  9.     Set re = Nothing
  10. End Function
½Æ»s¥N½X
ss

TOP

¥i¤£¥i¥H°®¯Ü¥þ³¡³£¥Î =BIG5(¼Æ­È/¤å¦r)
¥þ³¡²Î¤@Åܦ¨¥þ§Î
©Î =ASC(¼Æ­È/¤å¦r)  ¥þ³¡Åܦ¨¥b§Î

³o¼Ë·|¤£·|¤ñ¸û²³æ??
­YµL¶~¨Æ±¾¤ßÀY
«K¬O¤H¶¡¦n®É¸`

TOP

¦^´_ 27# cbl0924

BIG5¹ï ¯S®í¦rµL®Ä¡]¨Ò¦p氹¡^
ss

TOP

²{¦bUnicode½XÀ³¥Î«Ü¼s¡AExcel¹ïUnicode½X¤ä´©¤£¥þ¡]¦Ü¤Ö¤£«K¡^¡A¤×¨ä¬OVBA¡CÁÙ¦³¤]¤£¤ä´©Unicode½XªºCSVÀÉ¡C

TOP

        ÀR«ä¦Û¦b : °ß¨ä´L­«¦Û¤vªº¤H¡A¤~§ó«i©óÁY¤p¦Û¤v¡C
ªð¦^¦Cªí ¤W¤@¥DÃD