| ©«¤l1517 ¥DÃD40 ºëµØ0 ¿n¤À1541 ÂI¦W0  §@·~¨t²ÎWindows  7 ³nÅ骩¥»Excel 2010 & 2016 ¾\ŪÅv100 ©Ê§O¨k ¨Ó¦Û¥xÆW µù¥U®É¶¡2020-7-15 ³Ì«áµn¿ý2025-10-31 
 | 
                
| ¥»©«³Ì«á¥Ñ Andy2483 ©ó 2022-9-19 10:07 ½s¿è 
 ¦^´_ 1# jackyliu
 
 
 ÁÂÁ«e½úµoªí¦¹¥DÃD
 VBA¤è¦¡¨Ñ°Ñ¦Ò
 «á¾Ç¤µ¤Ñ±Ëªñ¨D»·
 1.½m²ßÅܼƦW°Ñ¼Æ¤Æ
 2.§ó¿Ëªñ¦r¨å
 
 «á¾Ç«Ü·Q¾Ç²ß¤£¤@¼Ëªº§Þ¥©! ¥ýÁÂÁ¦U¦ì«e½úÀ°q¥¿¿ù»~¨Ã¦A«ü¾É!
 ½Æ»s¥N½XOption Explicit
Sub Äæ¦ì¤º®e¥]§tABC¤å¦r§PÂ_()
'BÄæ¿é¤J®É¼Æ,CÄæ§e²{²Ö¥[«á®É¶¡
'AÄæ¥]§tABC,¦bDÄæ="¤Wñ"
'AÄæ¥]§tADEM,¦bDÄæ="¤Uñ"
'AÄæ¤£¥]§tABC¥B¤£¥]§tADEM,¦bDÄæ="²¤¹L"
'AÄæ¥]§tABC¥B¥]§tADEM,¦bDÄæ="¤Wñ+¤Uñ"
Dim Arr, i, Y, Z(1 To 3)
Set Y = CreateObject("Scripting.Dictionary")
Y = Array("¤Wñ", "¤Uñ", "²¤¹L")
Arr = [A2].CurrentRegion
For i = 2 To UBound(Arr)
   Z(1) = Arr(i, 2) / 24 + Arr(i - 1, 3)
   Z(2) = InStr(Arr(i, 1), "ABC")
   Z(3) = InStr(Arr(i, 1), "ADEM")
   Arr(i, 3) = IIf(Arr(i, 2), Z(1), "")
   If Z(2) <> 0 And Z(3) <> 0 Then
      Arr(i, 4) = Y(0) & "+" & Y(1)
      ElseIf Z(2) = 0 And Z(3) = 0 Then
         Arr(i, 4) = Y(2)
      ElseIf Z(3) = 0 Then
         Arr(i, 4) = Y(0)
      Else
         Arr(i, 4) = Y(1)
   End If
Next
[A2].Resize(UBound(Arr), UBound(Arr, 2)) = Arr
End Sub
 | 
 |