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

[µo°Ý] ´£¨ú¦r¦ê¤º¼Æ¦r¤ñ¤j¤p

¥»©«³Ì«á¥Ñ Andy2483 ©ó 2023-12-1 15:14 ½s¿è

ÁÂÁ½׾Â,ÁÂÁ¦U¦ì«e½ú
«á¾ÇÂǦ¹©«½m²ß¦r¦ê¤Ï¦V»P°}¦C,¾Ç²ß¤è®×¦p¤U,½Ð¦U¦ì«e½ú«ü±Ð
°õ¦æ«e:


°õ¦æµ²ªG:


Option Explicit
Sub TEST()
Dim Brr, S, i&, V1, Ve
'¡ô«Å§iÅܼÆ
Brr = Range([B1], [B65536].End(xlUp))
'¡ô¥OBrrÅܼƬO ¥H«ü©wªºÀx¦s®æ½d³ò­Èªº¤Gºû°}¦C
For i = 2 To UBound(Brr)
'¡ô³]¶¶°j°é!i±q2¨ìBrr°}¦CÁa¦V³Ì¤j¯Á¤Þ¦C¸¹
   S = Split(Trim(Brr(i, 1)) & "-", "-")
   '¡ô¥OSÅܼƬO¤À³Î¦r¦êªº¤@ºû°}¦C
   V1 = Val(StrReverse(Mid(Val("1" & StrReverse(S(0))), 2)))
   '¡ô¥OV1ÅܼƬO±N0¯Á¤Þ¸¹°}¦C­È¦r¦ê¤ÏÂà«á,¦b«e¤è³s±µ¦r¦ê"1"¦¨¬°·s¦r¦ê,
   '¦A¦¹·s¦r¦êÂର¼Æ­È,¨ú²Ä2¦r¤§«áªº¦r,±µµÛ±N¦¹¦r¦ê¤ÏÂà¦^¨Ó,³Ì«áÂର¼Æ­È

   Ve = Val(S(UBound(S) - 1))
   '¡ô¥OVeÅܼƬO­Ë¼Æ²Ä2­Ó°}¦C­ÈÂର¼Æ­È
   If V1 > 390 Or UBound(S) - 1 = 0 Then Brr(i - 1, 1) = "": GoTo i01
   '¡ô¦pªGÂŦâ°Ï°ì¼Æ­È¤j©ó390 ©Î Brr(i, 1)¦r¦ê¸Ì¨S¦³"-",
   '´N¥O°}¦C©ñµ²ªGªº°}¦C­È²M°£,¸õ¨ì¼Ð¥Üªº¦ì¸mÄ~Äò°õ¦æ

   Brr(i - 1, 1) = Switch((Ve <= 180) * (Ve > 90), 2, Ve <= 90, 1)
   '¡ô¥O°}¦C©ñµ²ªGªº°}¦C­È¼g¤J¥¿½T­È
i01: Next
[D2].Resize(UBound(Brr) - 1) = Brr
'¡ô¥O[D2]Àx¦s®æÂX®i©Ò»Ý½d³òÀx¦s®æ­È¥H Brr°}¦C­È±a¤J
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

        ÀR«ä¦Û¦b : ¨C¤ÑµL©Ò¨Æ¨Æ¡A¬O¤H¥Íªº®ø¶OªÌ¡A¿n·¥¡B¦³¥Î¤~¬O¤H¥Íªº³Ð³yªÌ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD